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