hibernate註解的CascadeType屬性

2021-07-02 16:02:00 字數 917 閱讀 5933

cascadetype.merge級聯更新:若items屬性修改了那麼order物件儲存時同時修改items裡的物件。對應entitymanager的merge方法 

cascadetype.persist級聯重新整理:獲取order物件裡也同時也重新獲取最新的items時的物件。對應entitymanager的refresh(object)方法有效。即會重新查詢資料庫裡的最新資料 

cascadetype.refresh級聯儲存:對order物件儲存時也對items裡的物件也會儲存。對應entitymanager的presist方法 

cascadetype.remove級聯刪除:對order物件刪除也對items裡的物件也會刪除。對應entitymanager的remove方法

cascadetype.persist只有a類新增時,會級聯b物件新增。若b物件在資料庫存(跟新)在則拋異常(讓b變為持久態)

cascadetype.merge指a類新增或者變化,會級聯b物件(新增或者變化)

cascadetype.remove只有a類刪除時,會級聯刪除b類;

cascadetype.all包含所有;

cascadetype.refresh沒用過。

綜上:大多數情況用cascadetype.merge就能達到級聯跟新又不報錯,用cascadetype.all時要斟酌下cascadetype.remove

@fetch:

定義了載入關聯關係的獲取策略. fetchmode 可以是

select (在需要載入關聯的時候觸發select操作), subselect(只對集合有效,使用了子查詢策略,詳情參考hibernate參考文件)

join (在載入主實體(owner entity)的時候使用sql join來載入關聯關係).

join 將覆寫任何延遲屬性 (通過 join策略載入的關聯將不再具有延遲性).

hibernate 註解關係

一對一關聯,分單項和雙向兩種策略來解決邏輯註解 onetoone cascade cascadetype.all private userinfoentity userentity onetoone cascade cascadetype.all 新增級聯操作 private identityent...

hibernate 常用註解

entity table name sys user dynamicinsert和 dynamicupdate生成動態sql語句,即在插入和修改資料的時候,語句中只包括要插入或者修改的字段 cache usage cacheconcurrencystrategy.標籤 有5種可選的快取方案 1,ca...

Hibernate常用註解

entity 宣告實體bean,每乙個持久化pojo類都是乙個實體bean,這可以通過在類的定義中使用 entity註解來進行宣告 id 註解則宣告了該實體bean的標識屬性,對應相應表使用id列作為主鍵列 table 是類一級的註解,通過 table註解可以為實體bean對映指定表 table 目...