您的位置:首页 > 其它

Hibernate关联关系映射-----单向一对一映射配置

2011-07-23 10:08 627 查看
这里举了一夫一妻的例子。
实体:
package uni.one2one;

public class Husband {
private int id;
private String name;
private Wife wife;

public Husband() {

}

public Husband(int id, String name, Wife wife) {
super();
this.id = id;
this.name = name;
this.wife = wife;
}

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;
}

public Wife getWife() {
return wife;
}

public void setWife(Wife wife) {
this.wife = wife;
}

}

package uni.one2one;

public class Wife {
private int id;
private String name;

public Wife() {

}

public Wife(int id, String name) {
super();
this.id = id;
this.name = 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;
}

}

hbm配置文件:
<hibernate-mapping>
<class name="uni.one2one.Husband">
<id name="id" column="did">
<generator class="native" />
</id>
<property name="name" type="string" column="name"></property>
<many-to-one name="wife" unique="true"></many-to-one>
</class>

</hibernate-mapping>
<hibernate-mapping>
<class name="uni.one2one.Wife">
<id name="id" column="did">
<generator class="native" />
</id>
<property name="name" type="string" column="name"></property>
</class>

</hibernate-mapping>


测试文件:
public class Test {
@org.junit.Test
public void testAdd() {
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.getCurrentSession();
session.beginTransaction();

Wife wife = new Wife();
wife.setName("wife");

Husband husband = new Husband();
husband.setName("husband");
husband.setWife(wife);

session.save(wife);
session.save(husband);

session.beginTransaction().commit();

}
}

测试结果:
Hibernate: insert into Wife (name) values (?)
Hibernate: insert into Husband (name, wife) values (?, ?)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: