多对多关联映射

多对多关联映射

两个实体型之间的联系
多对多联系

  • 定义
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n。
  • 在实体中实现多对多联系的设计
在需要关联的实体中设计关联对象的集合

在这里插入图片描述

  • 数据库中实现多对多联系的设计
可是使用第三方表
该表中会生成既是主键也是外键
该外键的参照是另外关联的表中的主键

在这里插入图片描述

  • Hibernate多对多关联映射
    Student.hbm.xml
    在这里插入图片描述
    在这里插入图片描述
  • 映射文件中属性的含义以及用法
<set>元素属性。
name属性:指定类的属性名(就是当前类关联的类的对象的集合);
table属性:指定多对多关联关系中间表(即是第三表);
cascade级联操作属性:save-update、delete、all、none。

<set>子元素。
<key>中column属性元素:设定实体类的对应表在第三张表的外键;
<many-to-many>元素中class属性:设定关联类的类型。
<many-to-many>元素中column属性:设定关联类的对应表在中间表(第三表)的外键。

inverse 是 Hibernate 中双向关联关系中的基本概念,用来设置关系由哪一方来维护。
inverse=true 表示被控方,=false 表示主控方;
在多对多关系中需要设置哪一方为被控方,即设置inverse=true 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值