hibernate 关联关系

在多对多的关系设计中,一般都会使用一个中间表将他们拆分成两个一对多。

<set>标签中的"table"属性就是用于指定中间表的。

中间表一般包含两个表的主键值,该表用于存储两表之间的关系。

由于被拆成了两个一对多,中间表是多方,它是使用外键关联的,<key>是用于指定外键的,用于从中间表取出相应的数据。

中间表每一行数据只包含了两个关系表的主键,要获取与自己关联的对象集合,还需要取出由外键所获得的记录中的另一个主键值,由它到对应的表中取出数据,填充到集合中。

在中间表中需要将外键设定为<many-to-one>在这个节点里需要设定对应的class属性

<many-to-many>中的"column"属性是用于指定按那一列的值获取对应的数据。因为我们获取数据的时候,都是说指定的group有哪些user,那么user就需要从对应的表中获取。

 

       在一对多的关系设计中,在一端用<set>的节点,这个节点里有<key>用来指定一端的id,还有一个<one-to-many>,这个节点中需要设定class属性,这个属性是指向多端的类。同时,在多端会有一个<many-to-one>的节点,这个节点的class属性是指向一端的类,在这个节点中会有一个<column>节点用来指定在多端对应的数据表中与一端对应的外键。


       


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值