`

Hibernate一对一的关联关系

阅读更多

 

一对一关联关系此处通过一个人对应一个身份证,此处身份证类中的id不是通过自动生成,

 

而是从person表中获取person表中对应的id,表的设计如下:

 

person表:

PK id
 

name

age

 

card表:

PF,FK1 id
  useful_life

 

人类 (Person):

 

public class Person {
      
      private int id ;
      private String name ;

      private Card card ;             // 身份证类

    .../getter/setter

}

 

身份证类 (Card):

 

 

public class Card {
      
      private int id ;
      private String name ;
     
      private Person person ;            // 同样此处包含一个人对象

    ...getter/setter
}

 

人类的配置文件 (Person.hbm.xml):

 

.........

<class name="Person" table="person">

          <id name="id">
                  <generator class="native"/>
          </id>
          
          <property name="name" />
          
          <one-to-one name="card"/>      // name的值对应Person类中的那个对象名称
          
</class>

.........

 

身份证类的配置文件 (card.hbm.xml):

 

 

......

<class name="Card" table="card">

         <id name="id">
                 <generator calss="foreign">
                          <param name="property">person</param>    // 此处的id是通过外键的方式获取,即通过person的getID方法赋值
                 </generator>
         </id>

         <property name="name"/>

         <one-to-one name="person"/>      // 同样对应Card类中的person对象名称

</class>

......

 

测试代码,首先添加一个身份证号,然后添加人的信息,代码如下:

 

// 省略Hibernate代码

Card car = new Card () ;
car.setName ("card name") ;

Person person = new Person () ;
person.setName ("p1") ;
person.setCard (card) ;           // 设置了此人的身份证

car.setPerson (person) ;         // 设置此身份证是哪个人的
s.save (person) ;
s.save (card) ;

 

分享到:
评论

相关推荐

    hibernate一对一关联关系

    本资源主要探讨的是“hibernate一对一关联关系”。 一对一关联关系在现实世界中很常见,比如一个人只有一个身份证,或者一个公司的总部只有一个。在Hibernate中,设置一对一关联关系可以帮助我们更好地管理和操作...

    hibernate外键实现一对一单向关联关系源码

    **一对一关联关系**在数据库设计中表示两个表之间存在唯一的对应关系,例如,一个人可能只有一个护照,或者一个员工只有一个职位。在Hibernate中,这种关系可以通过外键(Foreign Key)在一方或双方实体中实现。 **...

    Hibernate双向一对一关联映射(注解版)

    本主题聚焦于“Hibernate双向一对一关联映射”的注解实现,这是一种高级的数据库设计模式,用于处理两个实体之间一对一的关系。 在Hibernate中,一对一关联映射分为单向和双向。单向一对一映射通常涉及一个实体持有...

    hibernate一对一主键关联映射(单项关联)

    - **唯一性约束**:在数据库层面,为了确保一对一关联,通常需要添加唯一性约束。例如,`IdCard`表的`person_id`列应具有唯一性约束。 以上就是关于Hibernate中一对一主键关联映射(单项关联)的详细解释。通过这种...

    hibernate多对一单向关联关系实现源码

    首先,我们要理解Hibernate是如何处理多对一关联的。在Hibernate中,我们通过在实体类中添加注解或配置XML文件来定义这种关系。对于单向多对一关联,通常是在多方(拥有多个实体)的类中添加一个对单方(拥有单一...

    Hibernate映射一对多关联关系

    ### Hibernate映射一对多关联关系 #### 知识点概览 - **概念解析**:一对多(One-to-Many)关联关系的概念及其在Hibernate中的实现方式。 - **域模型设计**:创建具有一个实体与多个实体关联的域模型。 - **关系...

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

    现在,我们已经在`Profile`类中设置了关联,当保存或更新`Profile`对象时,Hibernate会自动处理关联关系。例如,创建一个`Person`对象和对应的`Profile`对象后,可以这样做: ```java Session session = ...

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

    标题"Hibernate一对一主键关联映射(双向关联)"中的"主键关联"指的是两个实体通过共享相同的主键来建立关联。"双向关联"则意味着在两个实体类中,都可以直接访问到对方的实例,即在实体A中有一个对实体B的引用,...

    hibernate外键实现一对一双向关联关系源码

    在实际应用中,确保在两个实体类间的一对一关联正确无误非常重要。在创建和更新关联时,应避免循环引用和数据不一致的问题。在保存或更新对象时,需确保在双方都进行了正确的设置。 8. **性能考虑**: 一对一双向...

    hibernate主键实现一对一单向关联关系源码

    首先,我们需要理解一对一关联关系的基本概念。在数据库中,一对一关系意味着两个表中的每一条记录都对应另一表中的唯一一条记录。在Hibernate中,这种关系可以通过共享主键或外键来实现。由于题目中提到的是“主键...

    hibernate使用主键关联的一对一关系

    在Java的持久化框架Hibernate中,一对一(OneToOne)关系是一种常见的对象关系映射(ORM)配置,用于表示两个实体类之间的一种唯一关联。在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来...

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

    一、Hibernate一对一关联类型 一对一关联在现实世界中很常见,例如一个人只有一个身份证,一个身份证也只能属于一个人。在数据库设计中,这种关系通常通过主键和外键的方式实现,其中一方的主键作为另一方的外键,...

    Hibernate一对一,一对多,多对多实例

    一对一关联通常出现在两个实体之间存在唯一对应关系的情况,例如一个人只有一个身份证。在Hibernate中,可以通过在实体类的属性上使用`@OneToOne`注解来定义这种关系。此外,还需要通过`@PrimaryKeyJoinColumn`或`@...

    Hibernate ORM - 一对一连接表关联关系

    描述部分虽然为空,但我们可以根据标题推测,这篇内容可能涉及了如何在Hibernate中配置和使用一对一关联,包括实体类的设计、注解的使用以及数据库表的结构设计等。 **知识点详解** 1. **Hibernate ORM框架**: ...

    Hibernate 一对一关联查询.docx

    综上所述,基于外键的一对一关联在Hibernate中是通过在实体类中定义引用以及在映射文件中设置外键映射来实现的。这种关联关系提供了灵活性,但也需要注意维护关联的正确性和性能优化。在实际开发中,应根据业务需求...

    hibernate多对一关联demo

    【标题】:“Hibernate多对一关联demo” 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了...通过这个简单的示例,你可以了解到如何在Java项目中利用Hibernate处理数据库中的多对一关联关系。

    hibernate一对一主键关联映射(双项关联)

    虽然一对一关联提供了便利,但过度使用可能会增加数据库查询复杂性,影响性能。因此,合理设计数据模型和关联关系,结合缓存策略,才能实现高性能的持久化操作。 总结来说,Hibernate的一对一主键关联映射,尤其是...

    hibernate一对一的关联关系demo

    在本示例中,我们将深入探讨如何在Hibernate中实现一对一关联关系,并通过两种主要的方式进行演示:外键形式和共用主键形式。 1. 外键形式的一对一关联关系: 在这种模式下,一方实体拥有外键,指向另一方实体的...

    hibernate实现多对多关联关系源码

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关联关系是一种常见的实体间关系类型,它表示一个实体可以与多个其他实体相关联,反之亦然。本源码示例将深入探讨如何使用Hibernate来配置和管理这种复杂的...

    hibernate一对一主键关联代码实现

    首先,我们需要理解一对一关联的含义:在数据库中,如果一个表的记录只能与另一个表的唯一一条记录对应,这就构成了主键关联的一对一关系。例如,一个人可能只有一个护照,那么“人”表和“护照”表之间的关系就是一...

Global site tag (gtag.js) - Google Analytics