【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
来源:互联网 发布:java安装教程 编辑:程序博客网 时间:2024/05/22 08:27
【SSH进阶之路】Hibernate基本原理(一) ,小编介绍了hibernate的基本原理以及它的核心,采用对象化的思维操作关系型数据库。
【SSH进阶之路】Hibernate搭建开发环境+简单实例(二),小编搭建了基本Hibernate的开发环境,并做了一个简单实例,对它的基本原理有了一个理性的认识。
【SSH进阶之路】Hibernate基本映射(三),我们介绍了Hibernate的基本映射(即对一个实体进行映射)的相关概念,并给大家实现相关实例,比较简单。
【SSH进阶之路】Hibernate映射——多对一单向关联映射(四),我们介绍了多对一的关联映射,并详细了解说了,映射技巧,这篇我们依旧使用此映射技巧,帮助大家更好的理解。
下面开始今天的愉快之旅。
映射原理
两个实体对象之间是一对一的关联映射,即一个对象只能与另外唯一的一个对象相对应。例如:一个人(Person)只有一张身份证(IdCard)。我们看一下这个例子的对象模型,如下图所示:
对象模型
从上图中可以看出:
1、一个人只有一张身份证,唯一的一个身份证号,对象之间是一对一的关系;
2、人(Person)持有身份证(IdCard)的引用,所以,两个对象关系维护由person端决定。
从对象模型映射成关系模型,有两种方式:主键关联和唯一外键关联,我们继续看下面的内容。
分类:
主键关联:
1、两个实体对象的主键一样,以表明它们之间的一一对应关系;
2、不需要多余的外键字段来维护关系,仅通过主键来关联,即Person的主键要依赖IdCard的主键,他们共用一个主键值。
以上两点恰与唯一外键关联相反。
主键关联的关系模型
Person.hbm.xml
生成的表结构以及测试数据:
唯一外键关联:
1、两个实体对象用一个外键来关联,以表表明对象之间的关系。
2、其实它是多对一关联映射的特例,多的一端加上唯一的限制之后,用来表示一对一的关联关系。
所以它采用多对一的标签来映射,如下所示:
唯一外键的关系模型
Person.hbm.xml
生成的表结构以及测试数据:
其他相同代码如下:
Person
IdCard
IdCard.hbm.xml
建议
由于一对一主键关联映射具有以下两个缺点:
1、灵活性差,没有办法改成多对一关联映射,不能应变多变的需求;
2、必须先保存关联对象IdCard,之后才能保持Person;
所以,在映射一对一单向关联映射时,我们采用唯一外键关联映射。
下篇博文,我们介绍一对一双向关联映射,谢谢关注。
- 顶
- 28
- 踩
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
- Hibernate映射——一对一单向关联映射(五)
- 【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)
- 【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)
- 【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)
- 【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
- Hibernate(五):Hibernate映射——一对一单向关联映射
- HDU 1016
- JSONP解决跨域访问数据问题
- SDOI2017 Round1 解题报告
- 设计模式-模板方法模式
- 根据前序和中序构建二叉树
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
- 微信支付篇
- OpenCV2:Mat属性
- 基本类型和引用类型的区别
- 链表的有序集合
- 【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)
- A simple math problem 【矩阵快速幂】
- 【计算机系统结构】 流水线技术-标量
- 【SSH进阶之路】Hibernate映射——一对多关联映射(七)