hibernate映射(一对一、一对多、多对一、多对多)配置 【转】
多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一
一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多
也就是说一对多和多对一的映射策略是一样的,只是站的角度不同
1.多对一(下面示例人员表(Info),民族表(Nation)) 多个人员对应一个民族。要知道,人员表中的外键列nation是对应民族表的主键列code。所以要在Info.hbm.xml中配置nation外键指向民族表。(如下图所示)
一般需要加上cascade="save-update",加这个配置业属性目的是,many表和one表一起更新
2.一对多(下面以人员表(Info)和工作简历(Work)表为例)每个人员对应个工作简历。
首先需要在Info的实体类中加入一个Set<Work> 类型的字段。
然后再Info.hbm.xml中配置一对多。(如下图所示)
<set name="实体类中集合成员的变量名(works)">
<one-to-many class="Work表">
<key>
<column name="InfoCode" ></colum>
</key>
</set>
3.一对一(人员表与密码表)每个人对应相应的用户密码:(因为外键值设置在login表上,所以在login.hbm.xml中配置信息)
4.多对多
数据库中没有多对多的关系。只有程序里面有。数据库中是使用两个一对多和多对一来实现多对多的。典型的是:中间表
在程序中,如果中间表中没有其它信息,那就可以不用写中间表的实体类。
多对多,还可以用在:用户和角色的关系上。
1.给类加关联对象(集合对象)
2.给hbm.xml配置
<set name="当前类的集合属性" table="中间表">
<key column="中间表中与此表对应的外键"></key>
<many-to-many class="另外多方对象的类名" column="另外多方对象在中间表中的外键"></many-to-many>
</set>
<set name="courses" table="score">
<key column="sno"></key>
<many-to-many class="Course" column="cno"></many-to-many>
</set>
(双向)
双向多对一关联 是最常见的关联关系。(这也是标准的父/子关联关系。)
<class name="Person"><id name="id" column="personId"><generator class="native"/></id><many-to-one name="address" column="addressId"not-null="true"/> </class><class name="Address"><id name="id" column="addressId"><generator class="native"/></id><set name="people" inverse="true"><key column="addressId"/><one-to-many class="Person"/></set> </class>
基于外键关联的双向一对一关联也很常见。
<class name="Person"><id name="id" column="personId"><generator class="native"/></id><many-to-one name="address" column="addressId" unique="true"not-null="true"/> </class><class name="Address"><id name="id" column="addressId"><generator class="native"/></id><one-to-one name="person" property-ref="address"/> </class>
转载于:https://www.cnblogs.com/hq233/p/6525219.html
hibernate映射(一对一、一对多、多对一、多对多)配置 【转】相关推荐
- Mybatis中的关系映射(一对一,一对多,多对多)
在网上寻了很久,大多数讲关系性的文章都是大篇幅的去将表照搬上来,本来就很生硬,此文就不在讲述关系性映射的具体实现,转而从浅层来讲讲其概念性. 1.1 关联关系概述 在关系型数据库中,多表之间存在着三种 ...
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
[SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,采用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例 ...
- Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
在我们以前的数据库设计中,设计表就不是一件轻松的事情.多种事物之间往往都是有这样那样的关系的.那怎样设计表格,才能既将事情描述明白,又能使数据库设计的比较合理呢?那里我们提供了好多规范,好多约束来满足 ...
- mybatis高级映射(一对一,一对多,多对多)
http://www.cnblogs.com/selene/p/4627446.html 阿赫瓦里 生命对于某些人来说,一直都是美丽的,因为这些人的一生都在为某个梦想而奋斗!!! 博客园 首页 新随笔 ...
- mysql中建立一对多映射_Mybatis中的高级映射一对一、一对多、多对多
学习hibernate的时候,小编已经接触多各种映射,mybatis中映射有到底是如何运转的,今天这篇博文,小编主要来简单的介绍一下mybatis中的高级映射,包括一对一.一对多.多对多,希望多有需要 ...
- Hibernate,关系映射的多对一单向关联、多对一双向关联、一对一主键关联、一对一外键关联、多对多关系关联...
2018-11-10 22:27:02开始写 下图内容ORM.Hibernate介绍.hibername.cfg.xml结构: 下图内容hibernate映射文件结构介绍 下图内容hibernate ...
- 初学者易上手的SSH-hibernate04 一对一 一对多 多对多
这章我们就来学习下hibernate的关系关联,即一对一(one-to-one),一对多(one-to-many),多对多(many-to-many).这章也将是hibernate的最后一章了,用于初 ...
- JPA 一对一 一对多 多对一 多对多配置
1 JPA概述 1.1 JPA是什么 JPA (Java Persistence API) Java持久化API.是一套Sun公司 Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没 ...
- EF里一对一、一对多、多对多关系的配置和级联删除
EF里一对一.一对多.多对多关系的配置和级联删除 本章节开始了解EF的各种关系.如果你对EF里实体间的各种关系还不是很熟悉,可以看看我的思路,能帮你更快的理解. I.实体间一对一的关系 添加一个Per ...
- 7. MyBatis多表查询 - 一对一 - 一对多 - 多对多
7. MyBatis多表查询 - 一对一 - 一对多 - 多对多 前言 在前面的篇章,我们已经熟悉了单表查询,下面我们来看看如何进行 多表查询. 数据准备 create database if not ...
最新文章
- 鸿蒙应用开发在线体验官网,华为鸿蒙 HarmonyOS 应用开发在线体验网站上线
- Qt for Android调用android原生Toast控件
- 【清北学堂】 死亡(death)
- 【Floyed】【匈牙利算法】导弹(jzoj 1610)
- 多线程Thread类创建多线程
- android sdk httppost,android6.0SDK 删除HttpClient的相关类的解决方法
- Java中的项目的导入导出
- 慎用某60软件清理垃圾,导致三星SSD T5不识别了,折腾了一下午,终于弄好了
- STM32+AD7705实现电压采集
- 六种电平转换的优缺点
- 【OpenGL游戏开发之一】MAC OS X And Win7 vs2010 搭建OpenGL
- java中的迭代是什么意思_java迭代指的是什么意思
- 胃与十二指肠溃疡的食疗方
- 使用Adobe Illustrator将EPS编辑为合适的论文图片
- RTSP播放器高RTSP兼容推流网页无插件流媒体播放器EasyPlayer-RTSP关于MP4的封装调用流程介绍
- 理性讨论:字节跳动跟阿里,哪个环境更适合年轻人?
- win10计算机恢复到一天前,Win10恢复电脑(刷新电脑)的方法步骤图文详解
- 双向长短期记忆网络模型_一种基于双向长短期记忆网络的定位修正方法与流程...
- HNUST OJ 2205 队伍能力值
- ubuntu下android开发安装手机驱动
热门文章
- Spring Boot 核心配置文件,yml 语法规范、 多环境配置、配置文件加载顺序
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_16-CMS前端工程创建-导入系统管理前端工程...
- OpenCASCADE 开发框架(一)
- SPI(Service Provider Interface)机制
- 关于吐槽网播放映兔源视频无法播放的问题 及解决方案
- 【Python之路Day12】网络篇之Paramiko
- 关于一个类中方法的调用
- Python Class System
- WinHEC 2008 China
- sql plus命令大全(2)