來源於:http://qingfengxia2.blog.163.com/blog/static/2547840720109219119405/
table
create table husband (
id integer not null auto_increment,
name varchar(255),
primary key (id)
)
create table wife (
id integer not null,
name varchar(255),
primary key (id)
)
alter table wife
add index FK37AF11D67CB035 (id),
add constraint FK37AF11D67CB035
foreign key (id)
references husband (id)
-------------------------------------------------------------------------------------------------------------------
实体
Husband
private int id;
private String name;
private Wife wife;
Wife
private int id;
private String name;
private Husband husband;
-------------------------------------------------------------------------------------------------------------------
Husband.hbm.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mappingpackage="com.hibernate.one2one.bean">
<classname="Husband"table="husband">
<idname="id"column="id">
<generatorclass="native"></generator>
</id>
<propertyname="name"></property>
<one-to-onename="wife"cascade="all"class="Wife"></one-to-one>
</class>
</hibernate-mapping>
-------------------------------------------------------------------------------------------------------------------
Wife.hbm.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mappingpackage="com.hibernate.one2one.bean">
<classname="Wife"table="wife">
<idname="id"column="id">
<generatorclass="foreign">
<paramname="property">husband</param>
</generator>
</id>
<propertyname="name"></property>
<one-to-onename="husband"constrained="true"></one-to-one>
</class>
</hibernate-mapping>
-------------------------------------------------------------------------------------------------------------------
@Test
publicvoidinsert(){
Sessionsession=HibernateSessionFactory.getSession();
Transactiontransaction=session.beginTransaction();
try{
transaction.begin();
Husbandhusband=newHusband();
husband.setName("小明");
session.save(husband);
Wifewife=newWife();
wife.setName("如花");
wife.setHusband(husband);
session.save(wife);
transaction.commit();
}catch(HibernateExceptione){
e.printStackTrace();
transaction.rollback();
}
}