用户表和用户信息表:
规定:用户信息表中的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框架中一对一关联关系的单向与双向映射方法,包括实体类定义及XML配置文件示例。
1万+

被折叠的 条评论
为什么被折叠?



