Hibernate之关系映射(三)
来源:互联网 发布:西门子消防主机软件 编辑:程序博客网 时间:2024/04/27 18:08
我们继续学习关系映射最后一种:多对多。在关系数据库中,多对多的关系一般采用第三张表来管理,所以
Hibenrnate通过使用<many-to-many>标签来表示多对多关联,自动生成中间表。
单向多对多关联映射
映射后的关系模型:
会产生第三张表来维护关系
映射文件:
User.hbm.xml
<span style="font-size:18px;"><?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.wyj.hibernate"> <class name="User" table="t_user"> <id name="id"> <generator class="native" /> </id> <property name="name" /> <set name="roles" table="t_user_role"> <key column="userid" /> <many-to-many class="Role" column="roleid" /> </set> </class> </hibernate-mapping> </span>
Role.hbm.xml
<span style="font-size:18px;"><?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.wyj.hibernate"> <class name="Role" table="t_role"> <id name="id"> <generator class="native" /> </id> <property name="name" /> </class> </hibernate-mapping> </span>
双向多对多关联映射
映射出的关系模型与单向一样。
映射文件基本相同,只是在另一端加入:
<span style="font-size:18px;"> <setname="users" table="t_user_role"> <key column="role_id" not-null="true"/> <many-to-many class="com.bjpowernode.hibernate.User"column="user_id"/> </set></span>
需要注意:
- 生成的中间表名称必须一样
- 生成的中间表中的字段必须一样
- 在实体类中,声明引用实体是集合类型的。
总结:
关系映射基本上介绍完了,我们发现其实就是关系模型转换为对象模型,通过标签和属性来控制他们的对应关
系。关系映射是我们用的比较多的,需要我们好好体会体会,尤其是外键关联映射和多对多映射。
0 0
- Hibernate之关系映射(三)
- Hibernate(三) 之 映射关系
- 精通Hibernate之映射继承关系(三)
- 精通Hibernate之映射继承关系三
- 精通Hibernate之映射继承关系三
- 精通Hibernate之映射继承关系三
- hibernate学习之三----映射关系
- Hibernate(三)映射关系
- hibernate 之 关系映射
- Hibernate之关系映射
- Hibernate之关系映射
- Hibernate之关系映射
- Hibernate关系映射总结(三)
- hibernate映射继承关系三
- Hibernate关系映射总结(三)
- Hibernate之jpa实体映射的三种继承关系
- Hibernate之jpa实体映射的三种继承关系
- 【HIbernate框架学习】:Hibernate对象继承关系映射(三)
- 家政O2O市场浅析:Homejoy模式 与Uber相通(转)
- android apk 防止反编译技术第一篇-加壳技术
- ++操作符的使用1
- C#--基于delegate实现不同功能的排序
- Aop概念详解
- Hibernate之关系映射(三)
- nat123的使用,内网IP到公网域名的映射,如何添加映射?
- RxJava概述
- poj 1787 多重背包(硬币付款不找钱)
- 记录apache-cxf-3.0.4编写web服务的过程
- 电脑问题:.net framework出错,gogotester 出错
- poi获取图片位置
- java的排序算法
- 工作日志1