在我的应用程序中,用户有很多字段,因此我决定将其与一对一实体分开。这是一个例子:
但后来我意识到有时我需要从没有关系的实体获取数据。例如,有时我必须使用BankCustomer
加载Worker
(所有关系都是懒惰的)但我不需要Person
。使用图表中显示的模型,我必须加载BankCustomer
,然后离开加入提取Person
,然后离开加入提取Worker
。所以我有了这个想法:
现在所有实体都与其他实体有关系。我也得到一对一的关系有一个共享的主键。因此,不需要为每个关系创建另一个外键
使用这种模型,它还可用于创建具有所有类型关系的网络,以便:
将成为这样:
因此,如果我需要从Authorities
获取Restriction
,我就不必提取我甚至不需要的User
和UserInfo
。
所以这是我的问题:
答案 0 :(得分:1)
回答点 1 :
为什么不呢,因为Hibernate和JPA有助于实现你在RDBMS中实现的任务,它应该是可行的。
试试吧。
回答 2 :
不确定这一点,取决于很多因素。
使用由类型确定的继承关系来解决Person,BankCustomer和Worker。
只需查看Inheritance mapping。
当您尝试在db session上创建或更新实体时,有太多的关系可能会让您陷入编码部分。
如果您需要很少的信息,那么您不需要在数据库上建立关系,而只需编写一个特定的 HQL 即可。
回答 3 :
这实际上取决于你的具体情况。
不仅仅是模型,还有您拥有的数据量,工作类型,例如,如果您只编写一次并阅读许多内容,或者您经常写作。
还有很多其他事情。
您应该提供一个更具体的案例来获得答案。