首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数据库表级继承,Jpa加入策略

在数据库表级继承,Jpa加入策略
EN

Stack Overflow用户
提问于 2012-03-05 12:38:01
回答 1查看 410关注 0票数 0

我使用数据模型已经有一段时间了。我现在相信这个模式是有缺陷的,但我不知道如何改进它。

基本上,我的领域模型是,一个小广告网站,为家长寻找保姆/儿童看护者和儿童看护者寻找婴儿来照顾

域模型当前有一个由两个ChildminderAccountParentAccount子类子类的基本帐户类。我还有一个由三个ChildminderAdvertisementParentToParentAdvertismentParentToChildminderAdvertisement类子类组成的基本广告类。

大多数属性是子类所共有的,因此位于超类中。

为了列出子类之间的一些差异:

  • A ChildminderAccount可能附有一份课程/简历,但ParentAccount可能没有。
  • A ChildminderAccount是通过专门研究儿童看护器是否为保姆(特定)/BabySitter(特定)/etc.

而进一步完善的。

这意味着ChildminderAccount子类与ParentAccount子类没有的其他表有关系。

继承目前是由JPA层使用连接策略(参见JPA文档:@Inheritance(strategy=InheritanceType.JOINED))实现的,参见图表。

我现时的设计面对多个问题:

  • 我在运行基类常用的操作时遇到了问题。
  • 我经常发现自己为子类重新实现方法,我有太多的DAOs.

如前所述,我不知道如何改进设计:是一起放弃继承(db级)还是选择另一种继承策略.

任何线索都欢迎。

EN

回答 1

Stack Overflow用户

发布于 2012-03-05 12:46:27

那么,JPA人员做出所有这些“继承策略”的原因是为了在使用SQL表时(通过JPA实体)更密切地模拟OO多态性。你确定你在利用这个功能。

例如,如果您想要所有帐户类型的条目(不管它们是实际的ParentAccount还是ChildminderAccount),您可以这样做:

代码语言:javascript
运行
复制
SELECT a FROM Account a WHERE ...."
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9566774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档