Mr.*_*r.Q 3 hibernate jpa one-to-one many-to-one
一个雇主有几个雇员,因此雇员与他们的雇主有(多对一)关系。假设我们忽略了从雇主到雇员的反向关系(一对多),那么从雇员的角度来看,这可以表示为一对一的关系!?
乍一看,它可能看起来如此 -@OneToOne当它实际上是 a时,使用关系时不会出现任何错误,@ManyToOne并且在大多数情况下, hibernate 的行为不会有任何不同,因为就拥有实体(您的示例中的员工)而言关心它只关心自己和非拥有实体(雇主),不需要知道它的兄弟姐妹(其他雇员),但@OneToOne有额外的属性,@ManyToOne因为它假设(认为它是一对-one) 它与关系的另一方有直接关系:
@OneToOne有一个orphanRemoval属性,如果所有者实体(员工)被删除,您可以删除关系的另一端(雇主) - 这不适用于@ManyToOne
Hibernate 层也有更直接的区别,如果您在同一事务中从不同的拥有实体(雇主)引用相同的非拥有实体(雇员),则在使用@OneToOne应该是的关系时会出现异常@ManyToOne- 请参阅以这个答案为例:https : //stackoverflow.com/a/18463748/3368558
| 归档时间: |
|
| 查看次数: |
535 次 |
| 最近记录: |