最佳答案
在 @OneToMany
JPA 注释引用的示例部分:
示例1-59@OneTomany-具有泛型的客户类
@Entity
public class Customer implements Serializable {
...
@OneToMany(cascade=ALL, mappedBy="customer")
public Set<Order> getOrders() {
return orders;
}
...
}
例1-60@ManyToOne-Order Class With 泛型
@Entity
public class Order implements Serializable {
...
@ManyToOne
@JoinColumn(name="CUST_ID", nullable=false)
public Customer getCustomer() {
return customer;
}
...
}
在我看来,Customer
实体是协会的所有者。但是,在同一文档中对 mappedBy
属性的解释中写道:
如果关系是双向的, 然后将 mappedBy 元素设置为 反面(非拥有) 关联到字段的名称 或者拥有关系的财产 如例1-60所示。
但是,如果我没有错的话,在这个例子中,mappedBy
实际上是在关联的拥有方指定的,而不是在非拥有方指定的。
所以我的问题基本上是:
在双向(一对多/多对一)关联中,哪个实体是所有者?我们如何指定一方为所有者?我们如何指定多方作为所有者?
什么是“关联的反面”?我们如何指定一边作为反面?我们如何指定多边作为反面?