hibenate中间表除了外键,添加新属性 / hibenate多对多中间表含有其他属性的配置

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近正在学hibernate,然后这个问题又不太明白,老师上课时好像也没介绍,记录一下 ^ . ^

  1. 多对多中间表如果没有其他属性。
    只有外键关联的话,那么只需要在两个类中添加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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值