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,根据需求,我在一对多中经常使用