我使用数据模型已经有一段时间了。我现在相信这个模式是有缺陷的,但我不知道如何改进它。
基本上,我的领域模型是,一个小广告网站,为家长寻找保姆/儿童看护者和儿童看护者寻找婴儿来照顾。
域模型当前有一个由两个ChildminderAccount类ParentAccount子类子类的基本帐户类。我还有一个由三个ChildminderAdvertisement,ParentToParentAdvertisment和ParentToChildminderAdvertisement类子类组成的基本广告类。
大多数属性是子类所共有的,因此位于超类中。
为了列出子类之间的一些差异:
而进一步完善的。
这意味着ChildminderAccount子类与ParentAccount子类没有的其他表有关系。
继承目前是由JPA层使用连接策略(参见JPA文档:@Inheritance(strategy=InheritanceType.JOINED)
)实现的,参见图表。
我现时的设计面对多个问题:
。
如前所述,我不知道如何改进设计:是一起放弃继承(db级)还是选择另一种继承策略.
任何线索都欢迎。
发布于 2012-03-05 12:46:27
那么,JPA人员做出所有这些“继承策略”的原因是为了在使用SQL表时(通过JPA实体)更密切地模拟OO多态性。你确定你在利用这个功能。
例如,如果您想要所有帐户类型的条目(不管它们是实际的ParentAccount还是ChildminderAccount),您可以这样做:
SELECT a FROM Account a WHERE ...."
https://stackoverflow.com/questions/9566774
复制相似问题