我有一个实体,例如名为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);
但是孩子不会删除。为什么?
答案 0 :(得分:1)
尝试将entityManager与remove语句一起使用:
Use of undeclared type positionType