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

一对一单双向主键关联-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>