我有两个表父和孩子
之间的双向关联<class name="child" table="child">
<id name="id" column="id" />
<many-to-one name="parent_id" column="parent_id"
class="parent" cascade="save-update"/>
</class>
<class name="parent" table="parent">
<id name="id" column="id" />
<set name="children" inverse="true" cascade="delete" >
<key column="parent_id" />
<one-to-many class="child" />
</set>
</class>
我在尝试删除父级时只是获得SQLIntegrityConstraintViolationException
。
在删除此父级时,如何为所有与父级关联的子项删除hibernate?
答案 0 :(得分:1)
您可以使用映射上的删除孤立选项删除子项。这被描述为here。这是有效的,因为孩子的生命周期受到父母生命的限制。 Hibernate知道它应该删除子节点时删除子节点,从而避免违反约束。即它会删除子项,然后删除父项。如果没有这个,你可能会违反约束。