This answer解释了 @ManyToOne
和 @OneToOne
之间的功能差异。不过,我还是不明白 - 你什么时候会选择使用 @OneToOne
?
如果我理解正确,这意味着表 X 中的每个对象都映射到(至多)表 Y 中的一个对象,并且没有两个 X 映射到同一个 Y。
适当的用例是可选属性吗?例如。 Car <--> Trunk,有些车有后备箱,有后备箱就是他们的了(没有车就谈后备箱是没有意义的)?
最佳答案
继承映射是数据库中一对一关系的理想选择。
假设您有一个“人员”表来存储在公司工作的人员,但人员可以是雇员或承包商。在那种情况下,您可以将所有公共(public)属性存储在 Person 表中。例如:
- 姓名
- 地址
- 出生日期
- ...
然后定义与“Employee”和“Contractor”表的一对一关系:
员工:
- 工资单编号
- 工资
- ...
承包商:
- 每日费率
- 契约(Contract)号
- ...
关于database - 您将使用@OneToOne 关系的具体示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8522181/