Hibernate的多对多关系查询 多对多的条件
1.需求:通过ID查询用户的信息,同时查询用户对应的角色的信息。(先查询本表需要查询的id的信息)
2.用户对应的角色的信息。(通过查询出来的外键字段去中间表查询对应的外键)
注意:用户和角色的关系是多对多的关系,他们的关系是在中间表里面的
3.通过中间表的映射关系找到了角色ID(通过中间表查询出来的外键去对应关联的表查询信息)
4.对多对通用一个表找到另一个表的数据的条件为(重点)
中间表
中间表对应本表的外键
中间表对应关联表的外键
5为什么需要三个条件?
答:因为多对多的时候,两个表的关系是通过中间表建立的!!
6.实现这个操作必须做两个步骤:
创建一个可以存储多个表数据的实体类,User实体配置多对多的关系
//用户和角色是多对多的关系
//意味着一个用户可以有多个角色,那么使用集合Set接收角色的信息
7.将查询的多个表的数据封装这个实体累的对象里面,通过配置来说实现。多对多配置
set标签: 作用是用于配置实体类对应的set集合
name : 唯一标识符,就是指定实体类对应的属性名是哪个set集合,也代表返回的类型是一个set集合
table:多对多的时候对应的中间表的表名
key标签 : 多对多的配置时,指定 本配置的实体类对应的表在中间表的外键
many-to-many标签:作用 声明是多对多的关系
class:指定集合的元素的数据类型
column:指定间表对应关联表的外键
-1.中间表
-2.中间表对应本表的外键
-3.中间表对应关联表的外键
set标签的作用是指定返回的类似是一个set,和实体类的声明保持一致
name:实体类的对应set集合的属性名
table:多对多的时候对应的中间表的表名
many-to-many声明是一个多对多的关系
class指定的是返回的数据类型
column代表的中间表中外键的字段名