【发布时间】:2011-10-17 15:17:17
【问题描述】:
我在单个对象上与其自身存在多对多关系:
<set name="relatedPersons" lazy="false" table="PersonRelatedPerson"
cascade="none" >
<key column="personId" foreign-key="fk_related_person" not-
null="false"/>
<many-to-many column="relatedPersonId" class="Person" not-found="ignore"/>
</set>
如您所见,我已将级联设置为“无”,因为当我删除一个人时,我当然只想从 PersonRelatedPerson 表中删除关系,而不是他们自己的相关人员。当我尝试使用此映射进行删除时,我得到了 ConstraintViolationException: 无法执行 JDBC 批量更新......
我猜想通过正确设置一些映射标志可以通过休眠以某种方式删除它(或者我是否必须做一些奇怪的解决方法,例如首先从第一人集中删除第二人,从第一人集中删除第一人第二,然后先删除....我真的不想这样做:D)
感谢所有帮助!!!
【问题讨论】:
标签: java hibernate persistence cascade