hibernate cascade 默认
- 作者: 飞扬的青葱
- 来源: 51数据库
- 2020-10-17
如果你只是在删除的时候做级联,把这个文件Classes.hbm.xml里的cascade设置为delete就行了。save-update的意思是使用save()、update()、saveOrUpdate()的时候做级联,all的意思是在save-update基础上加上delete()。Classes.hbm.xml文件里的inverse设为true表示它们之间的关系由Student来维护。也就是说保存Student的时候必须保存Classes。
cascade属性的可能值有
all:所有情况下均进行关联操作,即save-update和delete。
none:所有情况下均不进行关联操作。这是默认值。
save-update:在执行save/update/saveorupdate时进行关联操作。
delete:在执行delete时进行关联操作。
all-delete-orphan:当一个节点在对象图中成为孤儿节点时,删除该节点。比如在一个一对多的关系中,student包含多个book,当在对象关系中删除一个book时,此book即成为孤儿节点。
像你的问题,设置成save-update就可以了
cascade属性的可能值有
all:所有情况下均进行关联操作,即save-update和delete。
none:所有情况下均不进行关联操作。这是默认值。
save-update:在执行save/update/saveorupdate时进行关联操作。
delete:在执行delete时进行关联操作。
all-delete-orphan:当一个节点在对象图中成为孤儿节点时,删除该节点。比如在一个一对多的关系中,student包含多个book,当在对象关系中删除一个book时,此book即成为孤儿节点。
像你的问题,设置成save-update就可以了
推荐阅读
