hibernate 基于外键的1-1
public class Wife {
?private Long id;
?private String name;
?private Husband husband;
?
public class Husband {
?private Long id;
?private String name;
?private Wife wife;
?
?
外键保存在husband的表中
?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
??? "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
??? "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
?<class name="hiber.Wife" table="wife">
??<id name="id" type="java.lang.Long">
???<column name="ID" scale="0" />
???<!-- The generator-class attribute of @hibernate.id is deprecated, use the @hibernate.generator tag instead -->
???<generator type="java.lang.String" >
???<column name="name" length="255"></column>
??</property>
??<one-to-one name="husband" property-ref="wife"></one-to-one>
?</class>
?
?<class name="hiber.Husband" table="Husband">
??<id name="id" type="java.lang.Long">
???<column name="ID" scale="0" />
???<!-- The generator-class attribute of @hibernate.id is deprecated, use the @hibernate.generator tag instead -->
???<generator type="java.lang.String" >
???<column name="name" length="255"></column>
??</property>
??<many-to-one name="wife" lazy="false" unique="true"? not-null="true" cascade="all" >
???<column name="wife_id" scale="0" />
??</many-to-one>
?</class>
</hibernate-mapping>
?
?
测试:
?Wife wife = new Wife();
??Husband husband = new Husband();
??wife.setName("wife777");
??husband.setName("husband777");
??husband.setWife(wife);
//??wife.setHusband(husband);
??sph.save(wife);
??sph.save(husband);
?
//进行访问
??Wife wife1 = sph.get(4l);
??System.out.println(wife1.getName()+":"+wife1.getHusband().getName());
??
??Husband husband1 = sph.getHusband(3l);
??System.out.println(husband1.getName()+":"+husband1.getWife().getName());