我对父实体和子实体之间的简单映射有问题.所有这些都很好,只是当我从集合中删除子记录时,它们不会被删除.
家长:
@Entity
public class Parent {
@Id
@Column(name = "ID")
private Long id;
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent")
private Set<Child> childs = new HashSet<Child>();
...
}
子元素:
@Entity
public class Child {
@Id
@Column(name = "ID")
private Long id;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="PARENTID", nullable = false)
private Parent parent;
...
}
如果我现在从Childs集合中删除AND CHILD,它不会从数据库中删除.我试图取消child.parent
的参考,但也不起作用.
实体在web应用程序中使用,删除是Ajax请求的一部分.按下"保存"按钮时,我没有已删除子元素的列表,因此我无法隐式删除它们.