package key;
public class Person {
private int id;
private String name;
private IdCard idcard;
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 IdCard getIdcard() {
return idcard;
}
public void setIdcard(IdCard idcard) {
this.idcard = idcard;
}
}
//Person映射
<hibernate-mapping>
<class name="key.Person" table="PERSON" lazy="true">
<id name="id" type="int">
<column name="ID" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<one-to-one name="idcard" class="key.IdCard" fetch="join" cascade="all"></one-to-one>
</class>
</hibernate-mapping>
package key;
public class IdCard {
private int id;
private String cardNO;
private Person person;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCardNO() {
return cardNO;
}
public void setCardNO(String cardNO) {
this.cardNO = cardNO;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
<hibernate-mapping>
<class name="key.IdCard" table="IDCARD">
<id name="id" type="int">
<column name="ID" />
<generator class="foreign" ><param name="property">person</param></generator>
</id>
<property name="cardNO" type="java.lang.String">
<column name="CARDNO" />
</property>
<one-to-one name="person" class="key.Person" constrained="true"></one-to-one>
</class>
</hibernate-mapping>
package key;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class test {
public static void main(String[] args) {
Configuration configuration =new Configuration().configure();
ServiceRegistry serviceregistry=new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
SessionFactory sessionfactory=new Configuration().configure().buildSessionFactory();
Session session=sessionfactory.openSession();
Transaction transation=session.beginTransaction();
Person person=new Person();
person.setName("李四");
IdCard idCard =new IdCard();
idCard.setCardNO("12345");
idCard.setPerson(person);
session.save(person);
session.save(idCard);
transation.commit();
}
}