JPA @ManyToOne更新双方的关联链接

时间:2015-07-22 16:02:56

标签: java jpa one-to-many

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之间的链接吗?

非常感谢

2 个答案:

答案 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,默认情况下不会级联任何操作。