什么是many-to-many?
概念
多对多关联,一个用户有多个角色,一个角色可以由多个用户担当。
如:一个学生可以选择多门课程,一门课程可以供多名学生选择。
建立模型
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/26c9242253584157f08651bb5bca3b1e.png#pic_center)
使用并配置many-to-many
- 在一般的设计中,多对多关联映射需要一个中间表;
- Hibernate能够自动生成中间表。
实体类User的roles属性定义为set集合类型
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a656719978fb594994a241ab461cd9b5.png#pic_center)
Role.hbm.xml映射文件中没有需要特别注意的地方,我们直接查看User.hbm.xml映射文件的配置:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/61485caff90810881b37ce2b16a10e5b.png#pic_center)
- many-to-many标签中指定了集合中存放Role类型的数据;
- 通过关联属性role创建表t_user_role;