我确实有2个实体:
1.用户
2.限制
用户有一组限制,因此存在一对多关系。我确实将层叠类型设置为delete
,因此,当删除User
时,所有相应的限制也应删除。
<bag name="limits" cascade="delete">
<key column="USER_ID"/>
<one-to-many class="com.mac.kom.modules.limits.models.LimitsModel" />
</bag>
当我尝试删除User
时,我确实收到了错误消息
Caused by: java.sql.SQLException: ORA-01407: cannot update ("DB"."LIMITS"."USER_ID") to NULL
有任何线索吗?
答案 0 :(得分:1)
您应该层叠delete-orphan
。
delete
尝试通过清除FK字段来断开两个实体之间的链接。
delete-orphan
将不会授权没有LimitsModel
的一些User
,因此将删除相关的LimitsModel
记录。
答案 1 :(得分:0)
尝试
<bag name="limits">
<key column="USER_ID" on-delete="cascade"/>
<one-to-many class="com.mac.kom.modules.limits.models.LimitsModel" />
</bag>