最近正在学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

本文深入探讨了在Hibernate框架中实现多对多关联的方法,包括无额外属性的中间表和带额外属性的中间表两种情况。对于无额外属性的情况,仅需在两个类中添加set属性,并在XML配置文件中指定表名和外键列名。当中间表含有其他属性时,需创建额外的持久层类并建立一对多关联。
2193

被折叠的 条评论
为什么被折叠?



