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

hibernate中inverse和cascade应用总结

程序员文章站 2022-04-15 22:53:40
...

作用范围:

inverse是设置在集合元素中的,cascade对于所有涉及到关联的元素都有效。
<many-to-one/> 、<one-to-one/> 没有inverse属性,但是有cascade属性

执行时机:

inverse只对集合的变化进行判断处理,执行SQL语句之前判断是否要执行该SQL。
cascade针对每个元素执行相应处理,只在主控方发生操作时来判断是否进行关联操作

总结:

<one-to-many>中,建议inverse="true" ,由"many" 方来进行关联关系的维护
<many-to-many>中,只设置其中一方inverse="false",或双方都不设置
cascade,通常情况下都不会使用。特别是删除,一定要慎重。

操作建议:

一般对many-to-one和many-to-many不设置级联,这要看业务逻辑的需要;对one-to-one和one-to-many设置级联。
many-to-many关联关系中,一端设置inverse="false" ,另一端设置为inverse="true" 。
在one-to-many关联关系中,设置inverse="true" ,由多端来维护关系表。
相关标签: hibernate