`
shenshuibomb
  • 浏览: 25322 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate one-to-one 共享主键

阅读更多

    在项目中由于业务原因要对数据库中一个表做扩展,由于扩展的内容比较多,于是新建了一张表,表旧表做一对一关联,共享其旧表的主键。

 

    贴出个小例子供自己备忘使用

 

   我们这里用的是表名称:basic表和extend表

 

   Basic.java 和Basic.hbm.xm如下 

 

   package com.sszd.hibernate;

   public class Basic {

       private int id;
   
       private String feilda;

       private Extend extend;

       public Extend getExtend() {
           return extend;
       } 

       public void setExtend(Extend extend) {
           this.extend = extend;
        }

       public int getId() {
          return id;
       }

       public void setId(int id) {
          this.id = id;
       }

       public String getFeilda() {
         return feilda;
       }

       public void setFeilda(String feilda) {
          this.feilda = feilda;
      }   
}

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>

  <class name="com.sszd.hibernate.Basic" table="basic">
     <id name="id" column="id">
        <generator class="native"/>
     </id>
     <property name="feilda" column="feilda" type="string"/>
     
     <!-- cascade 表示级联关系,extend伴随着basic的操作面操作 -->
     <one-to-one name="extend" class="com.sszd.hibernate.Extend" cascade="all"></one-to-one>
   
  </class>
</hibernate-mapping>

 

 

 

 

Extend.java和Extend.hbm.xml

 

package com.sszd.hibernate;


public class Extend {

    private int id;
   
    private String feilda;
   
    private Basic basic;
   
    public Basic getBasic() {
        return basic;
    }

    public void setBasic(Basic basic) {
        this.basic = basic;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getFeilda() {
        return feilda;
    }

    public void setFeilda(String feilda) {
        this.feilda = feilda;
    }
}

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.sszd.hibernate">
  <class name="com.sszd.hibernate.Extend" table="extend">
     <id name="id" column="id">
         <generator class="foreign">
             <param name="property">basic</param>
         </generator>
     </id>
     <property name="feilda" column="feilda"/>
     <one-to-one name="basic" class="com.sszd.hibernate.Basic" constrained="true"></one-to-one>
  </class>
</hibernate-mapping>

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Hibernate one-to-many / many-to-one关系映射

    "Hibernate one-to-many / many-to-one关系映射"是两个基本的关系类型,用于表示实体间的关联。在这个主题中,我们将深入探讨这两种关系映射的原理、配置和实际应用。 一、一对一(one-to-one)与一对多(one-to-...

    Hibernate ORM - 一对一主键关联关系

    在一对一(One-to-One)主键关联关系中,两个实体类之间存在唯一对应的关系,通常一个实体对应另一个实体的一个实例,这种关系可以通过共享主键来实现。 在Hibernate中,一对一的主键关联关系可以通过以下几种方式...

    Hibernate学习要点_one2one 一对一主键双线关联

    在深入探讨Hibernate中的一对一(One-to-One)主键双线关联机制之前,我们首先需要理解几个核心概念:Hibernate框架、实体关系映射以及主键关联的基本原理。Hibernate是Java平台下的一款开源对象关系映射(ORM)框架...

    Hibernate one to one详细配置

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射类型之一。它用于表示两个实体之间一对一的关联关系,即一个实体对应另一个实体的唯一实例。下面将详细介绍Hibernate中如何进行一对一...

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

    在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来实现两个实体类之间的这种一对一绑定。下面我们将深入探讨这一主题。 首先,我们需要理解一对一关系的概念。在数据库中,一对一关系意味...

    Hibernate one to one 实例

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联是一种常见的关系映射方式,它表示两个实体之间存在唯一的对应关系。这种关系通常出现在两个实体之间具有唯一性的关联,例如一个人与他的护照,或者一个...

    hibernate中基于主键的one2one

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联是对象关系映射(ORM)中的一个重要概念,它表示两个实体类之间的一种一对一的关系。在这种关系中,一个实体类的实例对应另一个实体类的唯一实例。在...

    Hibernate ORM - 一对一外键关联关系

    "一对一(One-to-One)"外键关联是Hibernate支持的一种关系映射类型,用于描述两个实体之间一对一的关联关系。这种关系通常存在于具有唯一性的实体之间,例如一个人只有一个身份证,或者一个员工只有一个办公桌。 *...

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

    本篇文章将全面探讨Hibernate的关联映射学习,包括一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)以及多对多(Many-to-Many)四种关系映射。 首先,一对一关联映射(One-to-One)是两个实体...

    hibernate one to one 映射到两种方式

    在Java的持久化框架Hibernate中,一对一(One-to-One)映射是一种常见关系映射,用于表示两个实体之间一对一的关联。本篇文章将详细探讨Hibernate中实现一对一映射的两种方式,并结合源码分析其原理。 一、主键外键...

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

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联关系是常见的一种实体关系映射。本主题将深入探讨如何使用Hibernate通过主键来实现一对一的单向关联关系,并提供相关的源码分析。 首先,我们需要理解一对...

    Hibernate关联关系映射目录

    -- 用来映射关联PO,必须为one-to-one元素增加constrained="true"属性 --&gt; &lt;one-to-one name="address" constrained="true"/&gt; &lt;/hibernate-mapping&gt; ``` --- ##### 3. 一对一连接表单向关联 在一对一连接表单...

    hibernate主键一对一关联映射代码示例

    在这个XML配置中,`&lt;one-to-one&gt;`元素表示一对一的关联,`class`属性是关联的实体类,`foreign-key`属性用于指定外键的名称。 在实际使用时,我们可以通过Hibernate Session来操作这两个实体,如下所示: ```java ...

    hb-04-one-to-many-uni

    标题“hb-04-one-to-many-uni”和描述中的信息看似简洁,但结合标签“Java”,我们可以推测这是一个关于Java编程中的一个特定主题——一对一(One-to-One)、一对多(One-to-Many)关系的统一处理(uni)的示例项目...

    Hibernate的配置详解

    这里我们重点关注一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)关系。 1. 一对一关系(One-to-One): - 主键关联:一个实体对象对应另一个实体对象的一个实例,通常通过主键共享。例如,...

    hibernate_one_to_one映射简单入门例子

    在数据表之间,有一种常见的关联关系是一对一(One-to-One),即一个实体对应另一个实体的唯一实例。`hibernate_one_to_one`标签表示我们将探讨的是如何在Hibernate中实现一对一的映射关系。 **二、一对一映射的两...

    Hibernate一对一主键映射

    在Java的持久化框架Hibernate中,一对一(One-to-One)主键映射是一种常见的关联关系。这种映射方式使得两个实体类共享同一个主键,从而建立一对一的关系。在这个实例中,我们将深入探讨Hibernate一对一主键映射的...

Global site tag (gtag.js) - Google Analytics