【发布时间】:2018-08-26 21:04:09
【问题描述】:
我正在学习 Hibernate,遇到一个问题:mappedBy 和 CascadeType.ALL 有什么区别?
我们在拥有方使用mappedBy,以消除过度的持久性。例如,mappedBy 我们可以替换
a.addB(b);
b.setA(a);
与
a.addB(b);
在 A 和 B 之间的 ONE-TO-MANY 关系以及 B 和 A 之间的 MANY-TO-ONE(双向)的情况下。
为什么在这种情况下我们需要CascadeType?
【问题讨论】:
-
不,这根本不是 mappedBy 的用途。 mappedBy 有必要告诉双向关联的所有者方是什么。 OneToMany/ManyToOne 必须的所有者方是多方。而且您必须设置所有者方,因此
a.addB(b)将不工作(除非该方法调用b.setA(this)。