`

hibernate多种映射关系

阅读更多

 

1.hibernate多对一映射

   关联映射的本质:将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用

 

两种策略可以实现一对一的关联映射

   *主键关联:既让两个对象具有相同的主键值,以表明他们之间一一对应的关系:数据库表不会有额外的字段来维护他们之间的关系,仅通过表的主键来关联

   *唯一外键关联:外键关联,本来是用于多对一的配置,但是如果加上唯一的限制后,也可以用来表示一对一关联关系

 

 

<many-to-one>会在多的一端加入一个外键,这个外键是由<many-to-one>中的column属性定义的,如果忽略了这个属性,那么默外键跟实体的属性一致

 

<many-to-one>标签的定义示例:

       *<many-to-one name="group" column="groupid">

注意model中是不用groupid而是用实体对象如下:

  private Group group;——getter和setter方法

 

理解级联的含义:

      *级联是对象的链锁操作(指save,或update,对于delete无效)

      *级联对load不影响,也就是说级联对加载并不影响,只要配置了many-to-one就会加载相关

 

 

 

2.hibernate一对一主键关联映射(单向关联Person——》IdCard

一对一主键关联映射:让两个实体对象的id保持相同,这样可以避免多余的字段

 

具体映射:

    <id name="id">

          <!--person的主键来源,也就是共享idCar的主键-->

          <generator class="foreign">

                  <param name="property">idCard</param>

          </generator>

    </id>

 

     <property name="name"/>

     <!--one to noe 标签的含义,只是hibernate怎样加载它的关联对象,默认根据主键加载-       constrained=”true“,表明当前主键上存在一个约束,person的主键作为外键参照了idCard ->

 

      <one-to-one name="idCard" constrained="true"/>

 

注意两个model中都要有对象的引用

 

 

3.hibernate一对一主键关联映射(双向关联Person《——》IdCard

在单向一对一主键关联的基础上还要在idCard的映射文件中加入<one-to-one>标签指向person,指示hibernate如何加载person,默认根据主键加载:

 

<one-to-one name="person">

 

 

4.hibernate一对一唯一外键关联映射(单向关联Person——》IdCard

一对一主键关联映射:让两个实体对象的id保持相同,这样可以避免多余的字段

 

具体映射:

    <id name="id">

          <generator class="native”/>

    </id>

  

      <many-to-one name="idCard" unique="true"/><!--unique表示唯一性-->

 

注意两个model中都要有对象的引用

 

 

5.hibernate一对一唯一外键关联映射(双向关联person《———》IdCard)

在一对一唯一外键关联的基础上,在IdCard的映射文件中加入<one-to-one>指向person

如:

<one-to-one name="person" property-ref="idCard"/>

 

 

 

分享到:
评论

相关推荐

    hibernate的多种映射关系

    本篇文章将详细探讨 Hibernate 中的多种映射关系。 1. **一对一映射 (One-to-One)** 一对一映射表示两个实体类之间存在唯一的关系,就像一个人只能有一个身份证。在 Hibernate 中,这可以通过在两个实体类中添加 `...

    Hibernate 相关映射关系

    在Java世界中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本篇将详细探讨Hibernate中的映射关系,主要包括实体之间的一对一、一对多、...

    Hibernate_关联关系映射配置

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。本教程将详细讲解Hibernate中的关联关系映射配置,帮助你理解和掌握如何...

    用Hibernate映射继承关系

    在Java世界中,ORM(对象关系映射)框架如Hibernate为开发者提供了便利,将数据库操作转化为面向对象的方式,使得数据库管理更加直观。本主题聚焦于“用Hibernate映射继承关系”,我们将深入探讨Hibernate如何处理...

    Spring+Hibernate 自动映射

    标题中的“Spring+Hibernate 自动映射”是指在Java Web开发中,利用Spring框架与Hibernate ORM工具进行数据层的整合,实现对象关系映射(ORM)的自动化处理。这一技术结合了Spring的强大依赖注入(DI)和事务管理...

    Hibernate 注解映射

    Hibernate 注解映射支持多种关联关系的映射,包括多对一、一对多、双向一对多和双向一对一。 * 多对一映射:使用 @ManyToOne 和 @JoinColumn 注解,指定关联列。 * 一对多映射:使用 @OneToMany 注解,默认会使用...

    [原]Hibernate集合映射

    Hibernate支持多种集合映射类型,包括List、Set、Map、Bag、Array等。它们之间的区别主要在于元素的唯一性、顺序性和映射到数据库的实现方式。例如,List和Array维护元素的插入顺序,而Set不允许重复元素;Map则...

    hibernate的关联关系映射

    【hibernate的关联关系映射】在Java持久化框架Hibernate中,关联关系映射是核心功能之一,它允许对象间的复杂关系与数据库中的表结构相匹配。在选课系统这个例子中,主要涉及到的对象包括课题(Course)、教师(Teacher...

    hibernate映射和查询

    在 Hibernate 中,对象关系映射(ORM)是将数据库表映射到 Java 类的过程。这个过程通过 `hibernate.cfg.xml` 配置文件和实体类(Entity Class)来实现。在 `hibernate.cfg.xml` 文件中,我们配置数据库连接参数,如...

    hibernate关联关系映射

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而简化了数据访问层的编程。"hibernate关联关系映射"是Hibernate的核心概念之一,它定义了如何...

    Hibernate关系映射

    Hibernate关系映射是Java开发中一种重要的对象关系映射(ORM)技术,它允许开发者用面向对象的方式处理数据库操作,极大地提高了开发效率。本篇将深入探讨Hibernate关系映射的核心概念、配置和常见实践,以帮助你更...

    hibernate中的对象关系模型

    在Java持久化框架Hibernate中,对象关系模型(Object-Relational Mapping,ORM)是将数据库中的数据映射到Java对象的技术。它使得开发者能够用面向对象的方式来操作数据库,简化了数据库编程的过程。以下是对...

    hibernate实现数据库表的多种关系

    **标题解析:**“hibernate实现数据库表的多种关系” 在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式处理数据库操作。本示例着重于如何利用Hibernate来实现不同...

    hibernate映射继承关系(每个类都对应一张表)

    Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了多种方式来处理继承关系的映射,其中一种就是"每个类都对应一张表"的策略。本文将深入探讨这种映射方式,以及如何在Hibernate中实现它。 首先,...

    hibernate注解处理映射关系共14页.pdf.zip

    《Hibernate注解处理映射关系》是一份深入探讨Hibernate框架中注解应用的教程,共有14页内容,旨在帮助开发者更好地理解和运用Hibernate在数据库映射中的注解技术。Hibernate作为Java领域广泛使用的对象关系映射...

    Hibernate映射解析 七种映射关系 后端 - Java.zip

    在Java后端开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。这个名为“Hibernate映射解析 七种映射关系 后端 - Java”的压缩包文件显然包含了关于Hibernate映射关系的详细...

Global site tag (gtag.js) - Google Analytics