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代表的中间表中外键的字段名