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

来源:互联网 发布:淘宝双十一外媒 编辑:程序博客网 时间:2024/04/29 18:40

实体:

package bi.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 bi.one2one;public class Wife {private int id;private String name;private Husband husband;public Wife() {}public Wife(int id, String name, Husband husbnad) {super();this.id = id;this.name = name;this.husband = husbnad;}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 Husband getHusband() {return husband;}public void setHusband(Husband husband) {this.husband = husband;}}

hbm配置文件:

<hibernate-mapping><class name="bi.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" column="wid"></many-to-one></class></hibernate-mapping><hibernate-mapping><class name="bi.one2one.Wife"><id name="id" column="did"><generator class="native" /></id><property name="name" type="string" column="name"></property><one-to-one name="husband" property-ref="wife"></one-to-one></class></hibernate-mapping>

测试文件:

public class Test {@org.junit.Testpublic 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, wid) values (?, ?)


原创粉丝点击