1.程序示例如图:
2.card.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2016-7-20 10:48:06 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.eduask.pojo.Card" table="Card">
<id name="id" type="int">
<column name="ID" />
<generator class="native" />
</id>
<property name="CardNo" type="java.lang.String">
<column name="CardNo" />
</property>
<one-to-one name="user" class="com.eduask.pojo.User" property-ref="card">
</one-to-one>
</class>
</hibernate-mapping>
3.User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2016-7-20 10:48:06 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.eduask.pojo.User" table="MyUser">
<id name="id" type="int">
<column name="ID" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<many-to-one name="card" class="com.eduask.pojo.Card" column="Card_Id"></many-to-one>
</class>
</hibernate-mapping>
4.UserTest.java
package com.eduask.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Before;
import org.junit.Test;
import com.eduask.pojo.Card;
import com.eduask.pojo.User;
import com.eduask.util.HibernateUtil;
public class UserTest {
private SessionFactory sessionFactory;
@Before
public void setUp(){
sessionFactory=HibernateUtil.getSessionFactory();
}
@Test
public void testUser(){
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
Card c=new Card();
c.setCardNo("123456789");
session.save(c);
User u=new User();
u.setName("tom");
u.setCard(c);
session.save(u);
tx.commit();
session.close();
}
}
5.程序运行之后,打开数据库如下: