CASCADE屬性的取值


hibernate中CASCADE屬性的一些取值,及其含義:

1.none :默認值,Session操作當前對象時,忽略其他關聯的對象

2.delete:當通過Session的delete()方法刪除當前的對象時,會級聯刪除所有關聯的對象

3.delete-orphan:接觸所有和當前對象解除關聯關系的對象

   例如:customer.getOrders().clear();

   執行后,數據庫中的先前與該customer相關聯的order都被刪除。

4.save-update:當通過Session的save()、update()及saveOrUpdate()方法更新或保存當前對象

   時,級聯保存所有關聯的新建的臨時對象,並且級聯更新所有關聯的游離對象

5.persist:當通過Session的persist()方法來保存當前對象時,會級聯保存所關聯的

   新建的臨時對象

6.merge:當通過Session的merge()方法來保存當前對象時,會級聯融合所有關聯的游離對象

7.lock:當通過Session的lock()方法把當前游離對象加入到Session()緩存中時,會把所有關聯的游離對象也加入到

   Session緩存中。

8.replicate:當通過Session的replicate()方法賦值當前對象時,會級聯賦值所有關聯的對象

9.evict:當通過Session的evict()方法從Session緩存中清除當前對象時,會級聯清除所有關聯的對象

10.refresh:當通過Session的refresh()方法刷新當前對象時,會級聯刷新所有關聯的對象,所為刷新是指讀取數據庫中相應的數據

    然后根據數據庫中的最新的數據去同步更新Session緩存中的數據

11.all:包含save-update、persist、merge、delete、lock、replicate、evict及refresh的行為

12.all-delete-orphan:包含all和delete-orphan的行為


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM