为了账号安全,请及时绑定邮箱和手机立即绑定

Cascade=delete 不删除相关实体

Cascade=delete 不删除相关实体

Qyouu 2023-06-21 13:32:43
我有 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有什么线索吗?
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

你应该级联delete-orphan
delete尝试通过清除 FK 字段来断开两个实体之间的链接。
delete-orphan不会授权有一些LimitsModel没有User,因此会删除相关LimitsModel记录。

查看完整回答
反对 回复 2023-06-21
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

尝试这个


   <bag name="limits">

       <key column="USER_ID" on-delete="cascade"/>

       <one-to-many class="com.mac.kom.modules.limits.models.LimitsModel" />

    </bag>


查看完整回答
反对 回复 2023-06-21
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信