JPA中不删除一对多关系中的子项

时间:2018-01-29 13:19:32

标签: java hibernate jpa

我有一个实体,例如名为A,与另一个名为B的实体有一对多的关系。

答:

@OneToMany(mappedBy = "a", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
public List<B> getb() {
    return b;
}

B:

@ManyToOne
@JoinColumn(nullable = false, name = "a_id", referencedColumnName = "id", foreignKey = @ForeignKey(name = "sample"))
public A geta() {
    return a;
 }

我想删除“a”中的所有“b”,所以:

A a = entityManager.find(A.class, id);
a.getB().clear();
entityManager.merge(a);

但是孩子不会删除。为什么?

1 个答案:

答案 0 :(得分:1)

尝试将entityManager与remove语句一起使用:

Use of undeclared type positionType