在项目中由于业务原因要对数据库中一个表做扩展,由于扩展的内容比较多,于是新建了一张表,表旧表做一对一关联,共享其旧表的主键。
贴出个小例子供自己备忘使用
我们这里用的是表名称: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关系映射"是两个基本的关系类型,用于表示实体间的关联。在这个主题中,我们将深入探讨这两种关系映射的原理、配置和实际应用。 一、一对一(one-to-one)与一对多(one-to-...
在一对一(One-to-One)主键关联关系中,两个实体类之间存在唯一对应的关系,通常一个实体对应另一个实体的一个实例,这种关系可以通过共享主键来实现。 在Hibernate中,一对一的主键关联关系可以通过以下几种方式...
在深入探讨Hibernate中的一对一(One-to-One)主键双线关联机制之前,我们首先需要理解几个核心概念:Hibernate框架、实体关系映射以及主键关联的基本原理。Hibernate是Java平台下的一款开源对象关系映射(ORM)框架...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射类型之一。它用于表示两个实体之间一对一的关联关系,即一个实体对应另一个实体的唯一实例。下面将详细介绍Hibernate中如何进行一对一...
在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来实现两个实体类之间的这种一对一绑定。下面我们将深入探讨这一主题。 首先,我们需要理解一对一关系的概念。在数据库中,一对一关系意味...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联是一种常见的关系映射方式,它表示两个实体之间存在唯一的对应关系。这种关系通常出现在两个实体之间具有唯一性的关联,例如一个人与他的护照,或者一个...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联是对象关系映射(ORM)中的一个重要概念,它表示两个实体类之间的一种一对一的关系。在这种关系中,一个实体类的实例对应另一个实体类的唯一实例。在...
"一对一(One-to-One)"外键关联是Hibernate支持的一种关系映射类型,用于描述两个实体之间一对一的关联关系。这种关系通常存在于具有唯一性的实体之间,例如一个人只有一个身份证,或者一个员工只有一个办公桌。 *...
本篇文章将全面探讨Hibernate的关联映射学习,包括一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)以及多对多(Many-to-Many)四种关系映射。 首先,一对一关联映射(One-to-One)是两个实体...
在Java的持久化框架Hibernate中,一对一(One-to-One)映射是一种常见关系映射,用于表示两个实体之间一对一的关联。本篇文章将详细探讨Hibernate中实现一对一映射的两种方式,并结合源码分析其原理。 一、主键外键...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联关系是常见的一种实体关系映射。本主题将深入探讨如何使用Hibernate通过主键来实现一对一的单向关联关系,并提供相关的源码分析。 首先,我们需要理解一对...
-- 用来映射关联PO,必须为one-to-one元素增加constrained="true"属性 --> <one-to-one name="address" constrained="true"/> </hibernate-mapping> ``` --- ##### 3. 一对一连接表单向关联 在一对一连接表单...
在这个XML配置中,`<one-to-one>`元素表示一对一的关联,`class`属性是关联的实体类,`foreign-key`属性用于指定外键的名称。 在实际使用时,我们可以通过Hibernate Session来操作这两个实体,如下所示: ```java ...
标题“hb-04-one-to-many-uni”和描述中的信息看似简洁,但结合标签“Java”,我们可以推测这是一个关于Java编程中的一个特定主题——一对一(One-to-One)、一对多(One-to-Many)关系的统一处理(uni)的示例项目...
这里我们重点关注一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)关系。 1. 一对一关系(One-to-One): - 主键关联:一个实体对象对应另一个实体对象的一个实例,通常通过主键共享。例如,...
在数据表之间,有一种常见的关联关系是一对一(One-to-One),即一个实体对应另一个实体的唯一实例。`hibernate_one_to_one`标签表示我们将探讨的是如何在Hibernate中实现一对一的映射关系。 **二、一对一映射的两...
在Java的持久化框架Hibernate中,一对一(One-to-One)主键映射是一种常见的关联关系。这种映射方式使得两个实体类共享同一个主键,从而建立一对一的关系。在这个实例中,我们将深入探讨Hibernate一对一主键映射的...