`
德莫罗
  • 浏览: 174146 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

hibernate one to one 映射到两种方式

阅读更多

Account.hbm.xml<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.hibernate.entity.Account" table="account" catalog="hibernate">
        <id name="accountId" type="java.lang.Long">
            <column name="ACCOUNT_ID" precision="10" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="accountNumber" type="java.lang.String">
            <column name="ACCOUNT_NUMBER" />
        </property>
        <!-- 注意使用完整类名 -->
        <one-to-one name="user" class="com.hibernate.entity.User" property-ref="account"></one-to-one>
    </class>
</hibernate-mapping>

 User.hbm.xml

 

<?xml version="1.0" encoding="utf-8"?>
<!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.hibernate.entity.User" table="user" catalog="hibernate">
        <id name="userId" type="java.lang.Long">
            <column name="USER_ID" precision="10" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="name" type="java.lang.String">
            <column name="NAME" not-null="true" />
        </property>
        <!-- 共享主键方式映射 one to one 注意 class 要用完整类名-->
        <one-to-one name="relAddress" class="com.hibernate.entity.Address" cascade="save-update"></one-to-one>
        <!-- 单独列外键通过many to one + unique 属性方式映射 one to one 注意 class 要用完整类名-->
        <many-to-one name="account" class="com.hibernate.entity.Account" column="USER_ACCOUNT_ID" unique="true" cascade="save-update"></many-to-one>
         
    </class>
</hibernate-mapping>

 

 Address.hbm.xml

 

<?xml version="1.0" encoding="utf-8"?>
<!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.hibernate.entity.Address" table="address" catalog="hibernate">
        <id name="addressId" type="java.lang.Long">
            <column name="ADDRESS_ID" />
            <generator class="foreign">
            <param name="property">user</param>
            </generator>
        </id>
        <property name="street" type="java.lang.String">
            <column name="STREET" not-null="true" />
        </property>
        <!-- 映射 one to one 注意 class 要用完整类名-->
        <one-to-one name="user" class="com.hibernate.entity.User" constrained="true" ></one-to-one>
    </class>
</hibernate-mapping>
 工程文件已经打包,包含数据库生成.SQL

 

分享到:
评论

相关推荐

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

    在Java的持久化框架Hibernate中,关系映射是数据库对象之间的关联方式,它允许我们将复杂的数据库结构映射到Java对象上。"Hibernate one-to-many / many-to-one关系映射"是两个基本的关系类型,用于表示实体间的关联...

    hibernate one-to-one 一对一唯一外键关联映射_单向 and 双向

    这种关联方式可以分为单向关联和双向关联两种。 单向关联是指一个实体作为外键,关联到另一个实体,而另一个实体不知道这个关联关系。例如,Person实体关联到IdCard实体,但IdCard实体不知道这个关联关系。 双向...

    Hibernate one to one详细配置

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

    hibernate中one2many映射

    在Java的持久化框架Hibernate中,One-to-Many映射是一种常见的关系映射方式,它表示一个实体(比如一个用户)可以与多个其他实体(比如用户的订单)进行关联。在这个场景下,"用户"是一方,称为"One","订单"是另...

    hibernate_one_to_one映射简单入门例子

    **二、一对一映射的两种类型** 1. **主键关联(Primary Key Join)**:两个实体共享同一个主键,这通常意味着它们是同一个表的不同视图或者表的一部分。 2. **外键关联(Foreign Key Join)**:一个实体的主键作为...

    Hibernate one to one 实例

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

    Hibernate one to many(many to one) 配置

    标题"Hibernate one to many(many to one) 配置"涉及到的是关系型数据库在Java中的持久化框架Hibernate中的两种关联映射关系:一对一(One-to-One)和多对一(Many-to-One)。在数据库设计中,这种关系很常见,例如...

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

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

    hibernate中基于外键的one2one

    基于外键的One-to-One映射是其中的一种实现方式,它通过在一方或双方实体的表中添加外键来建立关联。接下来,我们将深入探讨这种映射策略及其配置。 **1. 一对一关系的概念** 一对一关系是指两个实体之间存在唯一的...

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

    Hibernate提供了懒加载和立即加载两种策略。默认情况下,一对多关系使用懒加载,只在实际需要时加载关联数据;而一对一和多对一关系默认为立即加载,即加载父对象时会同时加载子对象。这可以通过调整`fetch`属性来...

    hibernate many to one

    在Java的持久化框架Hibernate中,"Many-to-One"关系是一种常见的关联映射类型,它表示一个实体(类)可以与多个其他实体实例相关联。在这个主题中,我们将深入探讨Hibernate如何处理这种关系,以及如何在实际编程中...

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

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

    (4)Hibernate中的many-to-one和one-to-many关系

    本话题主要探讨两种基本的关系映射类型:many-to-one(多对一)和one-to-many(一对多)。这两种关系映射是数据库中常见的关联类型,理解和掌握它们对于开发高质量的Java应用至关重要。 1. many-to-one关系 many-to...

    hibernate 关联映射(一) many to one

    本篇文章将深入探讨Hibernate中的关联映射,特别是"Many to One"关系的映射。在数据库设计中,Many to One是一种常见的关系,即一个实体(表)可以与多个其他实体相关联,而另一个实体则只与一个实体相关联。 首先...

    hibernate 主键一对一映射(单向) 实例(java类)

    在Java的持久化框架Hibernate中,一对一(One-to-One)映射是一种常见的关系映射方式,它用于表示两个实体之间一对一的关联关系。在这种关系中,一个实体对应另一个实体的唯一实例。本实例将深入探讨如何在Hibernate...

Global site tag (gtag.js) - Google Analytics