OneToMany和ManyToOne

时间:2012-09-28 02:00:43

标签: jpa

我正在寻找关于何时使用上述关系的一些说明。

作为一个例子,我有一个由B类实例引用的A类。

这个关系是否应该建模为OneToMany,并且有一个在A类中定义的B类集合,或者由ManyToOne建模并且在B类中引用A类?

我的问题是,关系的选择是完全取决于程序员,还是取决于应用程序还是依赖于JPA?

1 个答案:

答案 0 :(得分:1)

OneToMany和ManyToOne是同一枚硬币的两面。如果关联是单向的(即,它不是双向的)那么关系的选择与选择哪一方拥有关系相同。例子:

  • 您需要从1 A到多个B的单向关系,其中A是所有者。唯一的选择是OneToMany。
  • 您需要从1 A到多B的单向关系,其中B是所有者。唯一的选择是ManyToOne。

如果关联是双向的,那么假设你正在使用OneToMany和ManyToOne。选择所有者方并不会强迫您做出任何决定。


更多阅读@ The Java EE 6 Tutorial: Entities