我正在尝试创建一个应用程序,该应用程序将部分依赖于人口普查局的TIGER/Lines数据Shapefiles,其中定义了一个记录布局:
http://www.census.gov/geo/www/tiger/tgrshp2010/TGRSHP10AA.pdf
我的想法是使用Decorator pattern创建一个包含所有数据类型通用字段的基本要素类,然后通过针对各个要素类型(州、县、国会选区等)的装饰器模式对其进行扩展。但是,我计划使用Google App Engine进行托管,所以我必须通过JDO或JPA来实现。我更喜欢JPA。
我可以映射装饰的对象吗?我的想法是,基本要素类将使用@Entity进行注释,然后扩展将包含特定于装饰对象的映射字段。由于GAE数据存储不是RDBMS,因此我认为我可以使用它。
发布于 2012-06-04 07:55:45
如果您使用Decorator模式,这意味着您使用的是组合。所以你能做的就是将你想要装饰的类标记为Embeddable,然后在你的装饰器中,将你的装饰类标记为Embedded。
如果你更喜欢使用继承,你的基类不是一个实体,因为它只是你想要继承的东西,而不是存储本身是DB。要创建一个从其他真实实体继承的基类,有一个注释:@MappedSuperclass
根据GAE docs的说法,两者都是受支持的。
希望它能帮上忙!
https://stackoverflow.com/questions/5358158
复制相似问题