Hibernate(4)关联映射之多对多
2015-01-20 17:06
169 查看
Hibernate(4)关联映射之多对多
前面的博客有讲Hibernate关联映射之多对一,和一对多,那么Hibernate多对多扥关联映射又是怎么回事呢?其实多对多是两个多对一组成的。
具体的还是用例子来说明吧,举一个简单的例子。角色和人员的例子,一个角色可以由多个人来参与,一个人可以参与很多个角色。角色和人员之间的关系是多对多的。
首先 ,我们先建立几个表;
第一个,人员表。userinfo
第二个,角色表。 roleinfo
第三个,人员与角色的关联关系表。 user_role
看不懂的去学数据库。
那么在生成映射文件时怎么配置呢?请看下面步骤。由于在前面的博客中有将原图粘贴过,那么现在就省略了这一步吧~
带着问题来配置文件吧~~~~我们如何通过角色ID来查询参与的人员呢?
那么第一步得明确此时的一方是角色,多方是人员。好了,一个一对多的配置。
图一:Roleinfo.java
这个不用我多说了吧~和之前的步骤一样不过注意的是我用的list集合。
图二:Roleinfo.hbm.xml
这个需要注意一下,用的list,所以使用<bag>,又因为有使用关联关系表,所以添加了一个table,table就是我们的关联关系表表名,
name是定义的对象,第一个column 是roleinfo 表中的外键,在关联关系表user_role中的roleId,第二个column是关联关系表中roleId关联的userId。
那么到此时,我们将角色对于人员的关联配置好了,此时,便可以通过角色操作(增删查改)人员了。
接下来,我们带着另外一个问题,人员如何查询参与的角色?~~~此时,注意,人员变成一方了,角色变成多方了,好了,又一个一带多的配置问题。
图三:Userinfo.java
不多说了,操作一样。
图四:
也是操作一样。
那么到此时,这一个一对多的配置也完成了~,你便可以实现人员操作角色了~
多对多的关联映射已建立完毕,你可以实现双方的操作了。
前面的博客有提到一对多关联映射问题,那么多对多关联映射又会怎样呢?请看下一篇博客。
THE END
相关文章推荐
- Hibernate配置文件与关联映射介绍
- Hibernate:组件属性和关联映射的区别
- Hibernate关系映射(四)一对多单向关联@OneToMany Annotation方式
- Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
- Hibernate之对象关系映射02一对一单向主键关联
- Hibernate关系映射(六)多对多单向关联@ManyToMany Annotation方式
- 【Java EE (Struts2 + Spring + Hibernate)开发】 :Hibernate(二)之【关联映射|继承映射|批量处理】
- Hibernate 多表关联映射- Hibernate中使用的集合类型(set,list,array,bag,map)
- Hibernate各关联映射
- Hibernate一对多单向关联和双向关联映射方法及其优缺点
- Hibernate 一对一关联映射
- Hibernate(五)——经典解析一对一关联映射
- Hibernate从入门到精通(六)一对一双向关联映射
- Hibernate 关联关系映射 -双向关联
- 【Hibernate3】(5)关联映射(二)
- hibernate关联映射
- Hibernate关联映射
- Hibernate框架中的关联映射
- 【Hibernate步步为营】--双向关联一对一映射详解(二)
- [置顶] Hibernate从入门到精通(七)多对一单向关联映射