欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hibernate cascade

程序员文章站 2024-02-20 11:03:28
...
Hibernate Cascade属性的用法

all ::                所有情况下均进行关联操作。 
none: 所有情况下均不进行关联操作。这是默认值。
save-update:在执行save/update/saveOrUpdate时进行关联操作。
delete: 在执行delete时进行关联操作。



all 的意思是save-update + delete

all-delete-orphan 的意思是当对象图中产生孤儿节点时,在数据库中删除该节点

all比较好理解,举个例子说一下all-delete-orphan:
Category与Item是一对多的关系,也就是说Category类中有个Set类型的变量items.
举个例子,现items中存两个Item, item1,item2,如果定义关系为all-delete-orphan
当items中删除掉一个item(比如用remove()方法删除item1),那么被删除的Item类实例
将变成孤儿节点,当执行category.update(),或session.flush()时
hibernate同步缓存和数据库,会把数据库中item1对应的记录删掉
相关标签: Hibernate