`

一对一单双向主键关联-xml

阅读更多

用户表和用户信息表:

规定:用户信息表中的id主键由用户表生成。

 

单向映射:

package com.zchen.hibernate.oneTone;
public class Person {
	 private int id;
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

}

 

package com.zchen.hibernate.oneTone;
public class Info {
	private int id;
	private int age;
	private String address;
	private Person person;
	public Person getPerson() {
		return person;
	}
	public void setPerson(Person person) {
		this.person = person;
	}
		public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}

}

 

<?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.zchen.hibernate.oneTone">

    <class name="Person" table="T_Person">
        <id name="id" column="ID">
            <generator class="native"/>
        </id>
        <property name="name" column="NAME"/>
    </class>

</hibernate-mapping>

 

<?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.zchen.hibernate.oneTone">

    <class name="Info" table="T_INFO">
        <id name="id" column="ID">
            <generator class="foreign">
            	<param name="property">person</param>
            </generator>
        </id>
        <property name="age" column="AGE"/>
        <property name="address" column="ADDRESS"/>
   		<one-to-one name="person" constrained="true"></one-to-one>
    </class>

</hibernate-mapping>

 

 

 

双向映射:

<?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.zchen.hibernate.oneTone">

    <class name="Person" table="T_Person">
        <id name="id" column="ID">
            <generator class="native"/>
        </id>
        <property name="name" column="NAME"/>
        <one-to-one name="info" property-ref="person"></one-to-one>
    </class>

</hibernate-mapping>

 

 

<?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.zchen.hibernate.oneTone">

    <class name="Info" table="T_INFO">
        <id name="id" column="ID">
            <generator class="foreign">
            	<param name="property">person</param>
            </generator>
        </id>
        <property name="age" column="AGE"/>
        <property name="address" column="ADDRESS"/>
   		<one-to-one name="person" constrained="true"></one-to-one>
    </class>

</hibernate-mapping>

 

分享到:
评论

相关推荐

    Hibernate教程07_关系映射之一对一双向主键关联

    在本教程中,我们将深入探讨Hibernate中的一个关键概念——关系映射,特别是“一对一双向主键关联”。这种关联类型是数据库设计中的常见模式,它允许两个实体类之间通过共享相同的主键来建立关联。在Java应用中,...

    Hibernate 一对一关联映射(主键关联VS唯一外键关联)

    在实际开发中,使用IDEA等集成开发环境可以自动生成一对一双向关联的实体类和映射文件,方便快捷。同时,通过数据库管理工具如MySQL Workbench,可以直观地查看表结构和外键约束,帮助理解一对一关联的实际效果。 ...

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

    在Java的持久化框架...总结来说,Hibernate的一对一主键关联映射,尤其是双向关联,能有效地简化对象关系的映射,提高代码的可读性和维护性。然而,需要根据实际情况权衡其带来的性能影响,确保系统设计的高效性。

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

    本篇文章将详细探讨如何实现Hibernate中的一对一主键关联映射,并以双向关联为例进行解析。 在一对一主键关联映射中,两个实体共享同一个主键,这表示它们在数据库中的记录是唯一的,不可重复。这种映射方式可以...

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

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

    Hibernate一对一双向外键关联(annotation/xml)

    二、XML配置实现一对一双向外键关联 1. entity.xml配置 在`hibernate.cfg.xml`或对应的实体类XML映射文件中,我们需要定义两个实体及其关联。 ```xml &lt;!-- User.hbm.xml --&gt; ... &lt;one-to-one name="profile...

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

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

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

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

    Java的Hibernate框架中的双向主键关联与双向外键关联

    双向主键关联实际上是一种特殊的一对一关联,其中两个实体类的主键相互引用,形成一个闭环。在这种关联中,Person类和IdCard类具有相同的主键,即Person的主键是IdCard的外键,反之亦然。为了实现这种关联,我们需要...

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

    - 在一对一双向关联中,如果两个实体都维护外键,可能会导致数据不一致,因此要谨慎处理。 总结起来,Hibernate双向一对一关联映射通过XML配置文件使得我们在Java代码中可以方便地操作数据库中的一对一关系,同时...

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

    在Hibernate中,一对一关联可以通过配置XML映射文件或使用注解来实现。这里我们将使用注解方式进行说明。首先,我们需要在两个实体类中分别定义对应的属性,并使用`@OneToOne`注解来指定关联关系。 1. 实体类A: ``...

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

    本主题将深入探讨如何使用Hibernate通过主键来实现一对一的单向关联关系,并提供相关的源码分析。 首先,我们需要理解一对一关联关系的基本概念。在数据库中,一对一关系意味着两个表中的每一条记录都对应另一表中...

    hibernate一对一之唯一外键关联(双向关联)

    - 在一对一关联中,唯一外键关联是指在一个实体中定义了另一个实体的主键作为其字段,形成外键约束,确保了数据的一致性和完整性。 3. **双向关联与单向关联** - **单向关联**:只有一方知道另一方的存在,例如...

    hibernate关联关系之一对一双向关联

    在Hibernate中,一对一双向关联可以通过注解或XML配置实现。通常,这种关联会涉及到主键和外键的概念,一个实体的主键作为另一个实体的外键,形成一对一的关联。下面我们将深入探讨一对一双向关联的各个方面: 1. *...

    Hibernate教程05_关系映射之一对一双向外键关联

    总之,Hibernate的一对一双向外键关联是数据库设计中一个重要的概念,它使得Java对象和数据库记录之间的关系管理更加方便。理解并掌握这种关联方式对于开发高效、健壮的Java应用程序至关重要。通过实践和探索提供的...

    hibernate中的 一对一唯一外键双向关联

    本篇将深入探讨在Hibernate中实现一对一唯一外键的双向关联。 **一、配置一对一关联** 在Hibernate中,一对一关联可以通过以下两种方式建立: 1. **通过主键关联(Primary Key Join)**:这种关联方式下,一方的...

    hibernate 一对一双向带关联表映射练习

    本文将深入探讨“hibernate 一对一双向带关联表映射”的概念及其实践,结合提供的资源"bionetoonetable"进行详细讲解。 在关系型数据库中,一对一关系是两个表之间的一种关联,其中每个记录在一张表中都对应唯一一...

    Hibernate一对多(多对一)双向关联(annotation/xml)

    总之,理解和熟练运用Hibernate的一对多、多对一以及双向关联,是提升Java企业级应用开发效率的关键。通过注解或XML配置,开发者可以灵活地定义实体间的关联,实现数据的持久化。同时,注意级联操作、懒加载策略等...

    hibernate双向多对多关联映射(XML)

    本知识点将深入探讨Hibernate中的双向多对多关联映射,并通过XML配置文件进行设置。 在关系型数据库中,多对多(Many-to-Many)关系是两个表之间的一种复杂关联,表示一个实体可以与多个其他实体相关联,反之亦然。...

Global site tag (gtag.js) - Google Analytics