最近正在学hibernate,然后这个问题又不太明白,老师上课时好像也没介绍,记录一下 ^ . ^
- 多对多中间表如果没有其他属性。
只有外键关联的话,那么只需要在两个类中添加set属性,然后在xml配置文件中添加set条目即可。
在双向 n-n 关联的两边都需指定连接表的表名及外键列的列名。 两个集合元素 set 的 table 元素的值必须指定,而且必须相同。
set元素的两个子元素:key 和 many-to-many 都必须指定 column 属性,其中,key 和 many-to-many 分别指定本持久化类和关联类在连接表中的外键列名,因此两边的 key 与 many-to-many 的column属性交叉相同。
也就是说,一边的set元素的key的 cloumn值为a,many-to-many 的 column 为b;则另一边的 set 元素的 key 的 column 值 b,many-to-many的 column 值为 a。
必须把其中一端的 inverse 设置为 true, 否则两端都维护关联关系可能会造成主键冲突.
2.对于双向 n-n 关联。
如果中间表有其他属性,则需要给中间表也创建一个持久层类,然后两个关联类分别与其建立一对多关联。
暂时到这。。
参考网址:https://blog.youkuaiyun.com/lijianqingfeng/article/details/35985657?utm_source=blogxgwz4