【发布时间】:2010-06-30 15:18:46
【问题描述】:
我在从数据库中删除父实体时遇到问题。代码如下所示:
public class Parent implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name="parentId")
private Set<Child> children = new HashSet<Child>();
}
public class Child implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
private String name;
}
Query q = em.createQuery("delete from Parent");
q.executeUpdate();
但我收到“错误:表“父”上的更新或删除违反了表“子”上的外键约束“fk2f04da924aeb47d8”。不能级联删除所有孩子吗?否则应该如何清理表格?
【问题讨论】:
标签: java hibernate orm jpa foreign-keys