0

一个特定的表(或类)可以与其他表(或类)有多个一对一以及一对多的关系吗?

例如,现在我正在开发一个银行应用程序,并且我有一个 UserDetails 表,它的主键为 userId。现在,我在 Transactions、BalanceInfo、AccountDetails 等各种其他表中使用此 userId 作为外键,其中 UserDetails 可以作为一对一和多对一关系关联。那么这是正确的实现方式吗?另外,如果我不将它们与任何类型的关系相关联,然后将它们与外键约束相关联,会发生什么?

4

1 回答 1

0

简短的回答,是的,您可以创建尽可能多的关系。

至于它是否是正确的方式,这取决于系统需要工作的条件。如果 UserDetails 是您域中每个其他对象的重要组成部分,并且它们需要 UserDetails 才能运行,那么当然,这很好。

如果您在数据库中保留 PK 和 FK 约束并且不让 Hibernate 知道它们,那么您可能会在没有正确编码的情况下违反它们。如果您使它们延迟加载,则关系存在,但您不必将数据加载到应用程序中。

只有在对您的领域模型进行适当分析之后才能真正确定这是否正确,因此您必须做出决定。

于 2013-10-18T13:33:00.647 回答