Hibernate的关联映射之N-N关联映射 .
来源:互联网 发布:是知也的知的拼音 编辑:程序博客网 时间:2024/05/17 08:11
四、N—N关联关系
1.1单向N-N的关联
单向的N-N关联和1-N关联的持久化类完全一样,控制关系的一端需要增加一个set集合属性,被关联的持久化实例以集合的形式存在。
N-N关联必须使用连接表,N-N关联与有连接表的1-N关联非常相似,只需要去掉<many-to-many.../>元素的unique="true"即可。其他的配置和1-N关联一样。
由于与1-N关联非常相似,这里就不演示了。
1.2双向N-N的关联
对于双向的N-N关联,我们只需要转换为两个1-N关联模型即可。双向N-N关联两端都需要使用set集合属性,两端都增加对集合属性的访问。双向N-N同样必须使用连接表来建立两个实体之间的关联关系。
以学生、老师为例:下面为两个实体的持久化类:
Student
Teacher
双向N-N关联的映射文件需要使用<set.../>元素,用以映射集合属性。<set.../>属性还需要增加<key.../>子元素来映射外键列,同时还应该增加<many-to-many.../>子元素来映射关联实体类。两个映射文件如下:
Student.hbm.xml
Teacher.hbm.xml
双向N-N关联的双边都需要指定连接表的表名,外键列的列名,所以两个<set.../>元素的table属性的值必须指定且一样。<set.../>元素的两个子元素:<key../>、<many-to-many.../>都必须指定column属性。<key.../>和<many-to-many.../>分别是指定本持久化类、关联类在连接表中的外键列。因此两边的<key.../>和<many-to-many.../>的column属性的值应该是交叉相等。
通过下面的操作类来添加两个Student对象和两个Teacher对象
注意:这里只能由一边建立关联关系,就是说只能由Student对象建立与Teacher对象的关联或者由Teachert对象建立与Student对象的关联。否则将会出现主键重复错误
- Hibernate的关联映射之N-N关联映射 .
- Hibernate的关联映射之1-N关联映射
- Hibernate读书笔记-----Hibernate的关联映射之N-N关联映射 .
- Hibernate读书笔记-----Hibernate的关联映射之N-N关联映射 .
- Hibernate的关联映射(4)-单向N-N关联
- Hibernate的关联映射(6)-双向N-N关联
- Hibernate之1-N关联映射
- Hibernate读书笔记-----Hibernate的关联映射之N-1关联映射
- Hibernate读书笔记-----Hibernate的关联映射之1-N关联映射
- Hibernate读书笔记-----Hibernate的关联映射之N-1关联映射
- Hibernate读书笔记-----Hibernate的关联映射之1-N关联映射
- SSH之hibernate—1和n的关联映射
- Hibernate的关联映射(1)-单向N-1关联
- Hibernate的关联映射(3)-单向1-N关联
- Hibernate的关联映射(5)-双向1-N关联
- 关联映射之④:单向N--->N关联
- 关联映射之⑥:双向N---N关联
- 【hibernate】关联映射那些事(二)--单向1-N映射和单向N-N映射
- 多级指标打分表单自动创建JavaScript代码解析
- mariadb卸载
- Android动画--布局动画 LayoutAnimation
- @staticmethod @classmethod @property使用【1】
- 机器学习第九周作业使用R语言建立BP神经网络
- Hibernate的关联映射之N-N关联映射 .
- Android之Activity
- OpenCV将连续图片合成视频AVI
- 学习PS基础教程
- 基于struts2的留言板系统&简单实现jdbc分页
- 软考之路(二)——计算机基础知识总结
- KMP学习笔记
- 线程中一些常用方法的分析
- HDU2087 剪花布条