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
分享到:
相关推荐
在Java的持久化框架Hibernate中,关系映射是数据库对象之间的关联方式,它允许我们将复杂的数据库结构映射到Java对象上。"Hibernate one-to-many / many-to-one关系映射"是两个基本的关系类型,用于表示实体间的关联...
这种关联方式可以分为单向关联和双向关联两种。 单向关联是指一个实体作为外键,关联到另一个实体,而另一个实体不知道这个关联关系。例如,Person实体关联到IdCard实体,但IdCard实体不知道这个关联关系。 双向...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射类型之一。它用于表示两个实体之间一对一的关联关系,即一个实体对应另一个实体的唯一实例。下面将详细介绍Hibernate中如何进行一对一...
在Java的持久化框架Hibernate中,One-to-Many映射是一种常见的关系映射方式,它表示一个实体(比如一个用户)可以与多个其他实体(比如用户的订单)进行关联。在这个场景下,"用户"是一方,称为"One","订单"是另...
**二、一对一映射的两种类型** 1. **主键关联(Primary Key Join)**:两个实体共享同一个主键,这通常意味着它们是同一个表的不同视图或者表的一部分。 2. **外键关联(Foreign Key Join)**:一个实体的主键作为...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联是一种常见的关系映射方式,它表示两个实体之间存在唯一的对应关系。这种关系通常出现在两个实体之间具有唯一性的关联,例如一个人与他的护照,或者一个...
标题"Hibernate one to many(many to one) 配置"涉及到的是关系型数据库在Java中的持久化框架Hibernate中的两种关联映射关系:一对一(One-to-One)和多对一(Many-to-One)。在数据库设计中,这种关系很常见,例如...
本篇文章将深入探讨Hibernate中的关联映射,特别是One-to-One(一对一)关联,这是一种表示两个实体之间一对一关系的映射方式。我们将通过源码分析和实际例子来理解其工作原理。 ### 一、One-to-One关联概述 在...
基于外键的One-to-One映射是其中的一种实现方式,它通过在一方或双方实体的表中添加外键来建立关联。接下来,我们将深入探讨这种映射策略及其配置。 **1. 一对一关系的概念** 一对一关系是指两个实体之间存在唯一的...
Hibernate提供了懒加载和立即加载两种策略。默认情况下,一对多关系使用懒加载,只在实际需要时加载关联数据;而一对一和多对一关系默认为立即加载,即加载父对象时会同时加载子对象。这可以通过调整`fetch`属性来...
在Java的持久化框架Hibernate中,"Many-to-One"关系是一种常见的关联映射类型,它表示一个实体(类)可以与多个其他实体实例相关联。在这个主题中,我们将深入探讨Hibernate如何处理这种关系,以及如何在实际编程中...
本话题主要探讨的是Hibernate中的一种关联映射方式——一对一(One-to-One)单向外键关联。这种关联模式通常用于两个实体之间存在唯一对应的关系,例如一个用户对应一个唯一的账户。 在Hibernate中,一对一关联可以...
本话题主要探讨两种基本的关系映射类型:many-to-one(多对一)和one-to-many(一对多)。这两种关系映射是数据库中常见的关联类型,理解和掌握它们对于开发高质量的Java应用至关重要。 1. many-to-one关系 many-to...
本篇文章将深入探讨Hibernate中的关联映射,特别是"Many to One"关系的映射。在数据库设计中,Many to One是一种常见的关系,即一个实体(表)可以与多个其他实体相关联,而另一个实体则只与一个实体相关联。 首先...
在Java的持久化框架Hibernate中,一对一(One-to-One)映射是一种常见的关系映射方式,它用于表示两个实体之间一对一的关联关系。在这种关系中,一个实体对应另一个实体的唯一实例。本实例将深入探讨如何在Hibernate...