A类
@ManyToOne
private B b;
B类
@OneToMany (mappedBy ="b")
private List<A> listA = new ArrayList<A>();
private void addA(A a) {
listA.add(a);
}
所以A是拥有方, 如果我做A.setB(新B())然后我合并A一切都会工作,并且将保持关联。
如果我做B.addA(新A())然后我合并B,A和B之间的链接将不会更新吗? 我应该怎么做B.add(new A())会更新A和B之间的链接吗?
非常感谢
答案 0 :(得分:2)
我不太了解你的问题,但我认为你应该添加方法addA
private void addA(A a) {
listA.add(a);
a.setB(this);
}
答案 1 :(得分:0)
如果我理解你,应该设置cascade
属性。如果您想通过B集合“控制”链接,请将其设置为@OneToMany(mappedBy="b", cascade=CascadeType.ALL)
。
According to docs,默认情况下不会级联任何操作。