从昨天到今天对inverse的理解一直是模模糊糊的,现在总算是有了粗略的理解。小小的纪念一下我对它的理解,算是对昨天和今天有个交代~
inverse表“是否放弃维护关联关系”(在Java里两个对象产生关联时,对数据库表的影响),
在one-to-many和many-to-many的集合定义中使用,inverse=”true”表示该对象不维护关联关系;
在一对多关联中它必须是代表多(many)的那端。而在多对多(many-to-many)关联中,你可以任意选取一端
该属性的值一般在使用有序集合时设置成false(注意hibernate的缺省值是false)。
one-to-many维护关联关系就是更新外键。many-to-many维护关联关系就是在中间表增减记录。
(1)一般在多的一方设置inverse="true"
(2)不能在有序的集合中使用(不能出现在list中)
(3)只能在集合中使用
(4)允许多的一方放弃对关系的维护(即设置inverse="true"),不允许1的一方放弃对关系的维护