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的行為
