我有一个问题,无法从数据库中删除父实体。 代码如下:
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();
但是我收到了“ERROR:在表“parent”上更新或删除违反了表“child”上的外键约束“fk2f04da924aeb47d8”。是否不可能级联删除所有子项?否则应该如何清空表格?
SchemaExport
来实现。请参考这个之前的回答。 - Pascal Thivent