小编典典

Java ORM映射中的“拥有方”是什么?

java

拥有方到底是什么意思?一些映射示例(一对多,一对一,多对一)的解释是什么?

以下文本摘录自Java EE 6文档中@OneToOne的描述。您可以在其中看到概念拥有方面。

定义与另一个具有一对一多重性的实体的单值关联。通常不必显式指定关联的目标实体,因为通常可以从被引用对象的类型中推断出该目标实体。如果关系是双向的,则非拥有方必须使用OneToOne批注中的mappingBy元素来指定拥有方的关系字段或属性。


阅读 479

收藏
2020-03-11

共1个答案

小编典典

你可以想象拥有方是引用另一方的实体。在你的摘录中,你具有一对一的关系。由于它是对称关系,因此如果对象A与对象B有关,那么最终将得出结论,反之亦然。

这意味着将对对象B的引用保存到对象A中,并将对对象A的引用保存到对象B中是多余的:这就是为什么你选择哪个对象“拥有”另一个引用该对象的对象。

当拥有一对多关系时,与“许多”部分相关的对象将是拥有方,否则,你将不得不存储从单个对象到多个对象的许多引用。为了避免这种情况,第二类中的每个对象都将有一个指向它们所引用的单个对象的指针(因此它们是拥有者)。

对于多对多关系,由于无论如何你将需要一个单独的映射表,因此不会有任何拥有的一方。

总而言之,拥有方是具有相互参照的实体。

2020-03-11