我有一个用户和一组处于一对多关系的权限:
用户.hbm.xml:
<set name="authorities" table="authorities" cascade="all-delete-orphan">
<key column="user_id" />
<one-to-many class="com.ebisent.domain.Authority" />
</set>
当我删除一个用户时,我也想删除权限,但是发生的是子表的外键(authorities.user_id)被设置为 null。然后我收到以下错误,并且用户删除被回滚:
org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
但是,authorities.user_id 更新为 null 不会回滚。
删除父用户时如何删除权限?
编辑:我通过明确删除权限、调用refresh()
用户、然后删除用户来完成这项工作,但我想知道执行此操作的“正确”方法。