【发布时间】:2016-06-28 11:42:26
【问题描述】:
我正在学习 JPA 关系(@OneToOne、@ManyToOne、...),当我与人们谈论他们如何为实体建模时,我越来越困惑。这是昨天的一个例子:
假设我们在Person 和Address 之间建立了关系。 DB 将Address.id 作为FK 存储在Persons 表中作为“address_id”。这种关系是 OneToOne 还是 OneToMany?我听说人们为这两种观点争论不休,他们都有充分的理由说明他们为什么会有这种感觉。
有人认为它“是一个多对一,因为每条记录的 address_id 不是唯一的。相同的 address_id 可以在Persons 表中反复使用。他认为,要真正拥有 OneToOne, Persons 表中的 FK 必须按照 JSR 规范中的指示是唯一的。
另一个人说,“当你想到一个Person 记录时,他们会有多个Address 吗?如果没有,那就是OneToOne;为什么要把事情复杂化”
我不知道哪个是真的。一方面,第一个人能够提出 JSR 规范并与我交谈。另一方面,我有一位拥有 20 多年经验(并且备受尊敬)的开发人员告诉我要保持简单。
有人可以帮我澄清一下吗
谢谢!
【问题讨论】: