簡體   English   中英

Cascade=delete 不刪除相關實體

[英]Cascade=delete doesn't delete related entities

我確實有 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

有什么線索嗎?

您應該級聯delete-orphan
delete嘗試通過清除 FK 字段來斷開兩個實體之間的鏈接。
delete-orphan不會授權在沒有User情況下擁有一些LimitsModel ,因此會刪除相關的LimitsModel記錄。

嘗試這個

   <bag name="limits">
       <key column="USER_ID" on-delete="cascade"/>
       <one-to-many class="com.mac.kom.modules.limits.models.LimitsModel" />
    </bag>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM