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" ,由多端来维护关系表。
下一篇: Hql查询