Hibernate映射——多对多关联映射(八)
来源:互联网 发布:fluent软件官方下载 编辑:程序博客网 时间:2024/06/06 08:54
上篇博文【SSH进阶之路】Hibernate映射——一对多关联映射(七),我们介绍了一对多关联映射,它是多对多关联映射的基础。
多对多映射是现实生活中最常见的映射,也是最容易理解的映射。废话少说,直接开始。
映射原理
不论是单向关联还是双向关联都是通过第三张表,将两个表中的主键放到第三张做一个关联。用第三张表来解决可能会造成数据冗余的问题。
举例
一个用户(User)对多个角色(Role),一个角色对多个用户。
分类
单向的多对多关联映射(单向User--->Role)
对象模型
关系模型
实例
下面我们看一下实体类和映射文件的代码。
User
Role
User.hbm.xml
Role.hbm.xml
生成的表结构和测试数据
多对多关联映射,在实体类中,跟一对多关联映射一样,也是用集合来表示的。<set>标签中用table属性重命名中间表名称,<key>标签定义当前表的主键,用<many-to-many>标签来关联另一张表。
双向的多对多关联映射(双向User<--->Role)
对象模型
关系模型
同上
实例
下面我们看一下实体类和映射文件的代码。
User
Role
User.hbm.xml
Role.hbm.xml
生成的表结构和测试数据
多对多双向关系中,User和Role的映射文件相同,值得注意的是生成的中间表名称必须一样,生成中间表的字段必须一样。
总结
多对多关联映射到此就结束了,经过对一对多关联映射的学习,相对而言,多对多关联映射变得非常的简单了,非常像一对多关联映射的变体。
Hibernate的总结篇马上杀到,谢谢关注。
- 【Hibernate】(八)关联映射之多对多映射
- 【SSH进阶之路】Hibernate映射——多对多关联映射(八)
- 【SSH进阶之路】Hibernate映射——多对多关联映射(八)
- 【SSH进阶之路】Hibernate映射——多对多关联映射(八)
- 【SSH进阶之路】Hibernate映射——多对多关联映射(八)
- 【SSH进阶之路】Hibernate映射——多对多关联映射(八)
- Hibernate映射——多对多关联映射(八)
- Hibernate映射—— 多对多关联映射
- Hibernate映射—— 多对一单向关联映射
- 【Hibernate框架】关联映射(多对多关联映射)
- Hibernate关联关系映射(多对一关联映射)
- Hibernate(四):Hibernate映射——多对一单向关联映射
- Hibernate(六)——多对多关联映射
- Hibernate(六)——多对多关联映射
- Hibernate关联映射--多对一映射
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- TSQL生成数据导出SQL
- C++调用有道词典API实现Caesar密码的加密解密
- Java 集合系列01之 总体框架
- android studio中Git的运用总结 基于码云代码托管平台
- linux tar解压、压缩命令详解
- Hibernate映射——多对多关联映射(八)
- 微信公众平台简易设计使用
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState
- C#编码规范
- kernel:在中断里添加打印后发现Android无法启动
- python logging添加filter例子
- redis的数据类型-sorted stes
- APP安全报告第九期:资讯类APP安全性极低,用户数据可能因此而泄漏!
- linux如何切换到root用户