`

Hibernate关联映射

 
阅读更多
Hibernate中有一对一,一对多,多对一,一对多(双向),多对多集中关联映射。

其中一对多,多对一,一对多(双向)用的比较多。因为一对一太过简单可不用,多对多可以转换为一对多或多对一。

一对一(单向的主键关联映射)
在实际生活中的例子有:身份证对应人
在主表的映射文件中不需配置特殊的标签,
在子表的映射文件就要将主键的生成策略设置为foreign并在其中设置参数(param),其参数的name为property,其参数的值为关联对象的标识(因为在类中关联对象的标识直接用关联对象,所以其值为关联对象的引用)。因为是关联着的所以还需加个标签one-to-one的标签,此标签的含义是表示怎么加载它的引用对象。

实例:(子表那端)


注意:若要配置双向的,在端的pojo类中加入子表端的pojo类的引用,并且在主表端的映射文件中加入one-to-one标签指向子表端。这样不管是查哪一端都可以加载另一端的数据。

还有个一对一唯一外键关联映射是多对一关联映射的特例。
单向:在多端采用many-to-one标签,指定unique=true,这样就限制了多的一端的多重性唯一。
双向:在单向的前提下,在另一端,添加<one-to-one name=”对象引用名” property-ref=”外键端所需比较的属性名”/>,外键关联映射中,两个实体采用的是person的外键维护的关系,所以不能指定主键加载类,而需根据别的属性来加载,在property-ref中的值应是那个属性名。

多对一
只需在多端中的配置文件中配置<many-to-one>这个节点即可。
例:

在java代码中多端中设置一端所代表的对象即可。
例: (一端)
注意:在一端不需设置任何代码


多对多
需在两端的配置文件中都设置成set节点:
例:

注意:需设置 cascade="save-update" ,应为若cascade为all那么删除一方的某条数据,会将关联的所有数据全部删除
在java代码中两端设置另一端类型为Set即可。
例:


分享到:
评论

相关推荐

    hibernate关联映射详解

    hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,包含4个说明文档,分别详细解说了hibernate关联映射的...

    hibernate关联映射实例

    本文将深入探讨“hibernate关联映射实例”中的关键知识点,包括一对多、多对多和继承映射,这些都是Hibernate中至关重要的概念。 1. **一对多关联映射**: 在现实世界中,一个实体可能会与多个其他实体相关联,...

    hibernate关联映射的作用和常用属性解释

    ### Hibernate关联映射的作用与常用属性详解 #### 关联映射概述 在对象关系映射(Object Relational Mapping,简称ORM)技术中,Hibernate作为Java领域内非常成熟且功能强大的框架之一,它允许开发者将Java类映射...

    Hibernate关联映射.rar

    本教程“Hibernate关联映射.rar”聚焦于Hibernate中的关联映射,特别是多对一和一对多的关系映射,非常适合初学者了解和实践。 首先,我们要理解什么是关联映射。在数据库中,表与表之间存在各种关系,如一对一、一...

    hibernate 全面学习->hibernate 关联映射学习

    总的来说,这个压缩包提供了丰富的Hibernate关联映射的学习资源,涵盖了从基础到进阶的各种关联类型。通过学习这些示例,你将能够熟练掌握如何在Java项目中使用Hibernate进行数据持久化,并灵活地处理各种数据库关系...

    Hibernate 关联映射

    这可能是测试Hibernate关联映射的一个示例项目或者类。通常,这样的测试会包含各种关联映射的实例,如实体类的定义,配置文件或注解,以及测试用例,用于验证关联映射是否按预期工作。 **详细知识讲解:** 1. **一...

    hibernate 关联映射(一) many to one

    本文将深入探讨“Hibernate关联映射中的Many-to-One关系”。 Many-to-One关联是现实世界中常见的关系类型,比如一个学生可以对应多个课程,而一个课程可能被多个学生选修。在数据库中,这通常表现为一对多(One-to-...

    hibernate关联映射

    hibernate关联映射是Hibernate框架中的一个重要概念,它用于在Java对象模型和数据库表之间建立关系,使得数据操作更加方便。以下将详细介绍各种类型的关联映射: 1. **单向N-1关联(无连接表)** 在这种关联中,一...

    hibernate关联映射详解SSH 多对多,一对多关系对象映射

    在Java的持久化框架Hibernate中,关联映射是至关重要的概念,它允许我们将数据库中的表关系映射到对象之间的关系。SSH(Struts、Spring、Hibernate)是经典的Java Web开发框架,其中Hibernate负责数据访问层,提供了...

    Hibernate关联映射-one to one单向外键关联

    本话题主要探讨的是Hibernate中的一种关联映射方式——一对一(One-to-One)单向外键关联。这种关联模式通常用于两个实体之间存在唯一对应的关系,例如一个用户对应一个唯一的账户。 在Hibernate中,一对一关联可以...

    hibernate 关联映射(二) one to one(单向)

    本篇文章将深入探讨Hibernate中的关联映射,特别是One-to-One(一对一)关联,这是一种表示两个实体之间一对一关系的映射方式。我们将通过源码分析和实际例子来理解其工作原理。 ### 一、One-to-One关联概述 在...

    hibernate 关联映射(三) one to one(双向)

    在Java的持久化框架Hibernate中,关联映射是核心特性之一,它允许我们将数据库中的表关系映射到对象之间的关系。本篇将深入探讨一种特殊的关联映射方式——一对一(One to One)映射,特别是在双向关联的情况下的...

    Hibernate一对一主键关联映射(双向关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是一种常见的关系数据库模型映射方式。这种关联通常发生在两个实体之间,且每个实体都只有一个对应的实例。本篇文章将详细探讨双向一对一主键关联映射...

Global site tag (gtag.js) - Google Analytics