类mapping(省略其他属性配置) <set name="enrolls" table="enroll_info" inverse="true" lazy="true" cascade="<em>all-delete-orphan</em> Item类mapping(省略其他属性配置) <set name="enrolls" table="enroll_info" inverse="true" lazy="true"cascade="<em>all-delete-orphan</em>
all:save-update + delete all-delete-orphan:save-update + delete + delete-orphan
其值有:none、save-update、delete、delete-orphan、all、all-delete-orphan。 即当一个节点在对象图中成为孤儿节点时,删除该节点 all-delete-orphan 包含all和delete-orphan的行为 接下来,我们演示一下默认值和save-update,其它的值,各位客官可以自行试验哈
delete 级联删除 delete-orphan 孤儿删除 all save-update + delete all-delete-orphan
级联删除 delete-orphan 孤儿删除 all save-update + delete all-delete-orphan
HashSet<Order>()); session.getTransaction().commit(); session.close(); } } 4.2.4、演示all-delete-orphan public class Demo4 { @Test // 配置 Customer 的 cascade 属性为: all-delete-orphan => 相当于配置了 save-update session.getTransaction().commit(); session.close(); } @Test // 配置 Customer 的 cascade 属性为: all-delete-orphan all:save-update 和 delete 整合 all-delete-orphan:三个整合 在一起 如果需要配置多项,使用逗号分隔 <set cascade="save-update,delete"> --> <set name="orders" inverse="false" cascade="<em>all-delete-orphan</em>
但它不会级联删除 delete: 级联删除, 但不具备级联保存和更新 all-delete-orphan: 在解除父子关系时,自动删除不属于父对象的子对象, 也支持级联删除和级联保存更新. all: 级联删除
all 它包含了save-update delete操作 all-delete-orphan它包信了delete-orphan与all操作 笔试题:cascade与inverse有什么区别?
(孤子删除) * all-delete-orphan :所有的包含的孤儿删除.
SEQ_ELECTRICITY_DEALS</param> </generator> </id> … <set name="dealCharges" cascade="<em>all-delete-orphan</em>