cascade几种取值:
| 取值 | 说明 |
|---|---|
| save-update | 级联保存(load以后如果子对象发生了更新,也会级联更新). 但它不会级联删除 |
| delete | 级联删除, 但不具备级联保存和更新 |
| all-delete-orphan | 在解除父子关系时,自动删除不属于父对象的子对象, 也支持级联删除和级联保存更新 |
| all | 级联删除, 级联更新,但解除父子关系时不会自动删除子对象 |
| delete-orphan | 删除所有和当前对象解除关联关系的对象 |
| none | … |
级联保存和级联更新总是集合在一起的, 所以没单独的save 或 update
我通常会用到none,save-update,all-delete-orphan,而且还是在一对多和多对多的情况
- none就不用说了,在保存,更新,删除当前对象时,忽略其关联的对象
- save-update:在保存和更新当前对象的时候,级联保存,更新关联对象,在多对多的情况下用的很多,而且一般 不用于一对多,一对多我通常会采用none或者all-delete-orphan
- delete 删除当前对象,级联删除关联的对象,我从来单独没用过
- all 也就是save-update+delete,另外对当前对象执行evict和lock时对关联对象也执行evict和lock,我从来没单独用过
- delete-orphan 删除所以和当前对象解除关联的对象,我从来没单独用过
- all-delete-orphan 也就是all+delete-orphan,根据需求,我在一对多中经常使用
本文详细解释了在对象关系管理中Cascade操作的几种取值含义,包括save-update、delete、all-delete-orphan、all、delete-orphan等,并讨论了它们在一对多和多对多关系中的应用策略。
887

被折叠的 条评论
为什么被折叠?



