Hibernate one2one 双向主键关联

来源:互联网 发布:linux python ssh模块 编辑:程序博客网 时间:2024/05/16 01:04

People 类

public class People {


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;
}
}

----------------------------------------------------------

IdCard 类

public class IdCard {


private int id;
private String cardNo;
private People people;
public People getPeople() {
return people;
}
public void setPeople(People people) {
this.people = people;
}
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;
}

}


---------------------------------------------------

People.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">
<hibernate-mapping package="com.soft.gread1">
<class name="People" table="t_people">
<id name="id" >
            <generator class="foreign">
            <param name="property">idcard</param>            
            </generator>
</id>
<property name="name"/>

<one-to-one name="idcard" constrained="true"/>
</class>
</hibernate-mapping>

---------------------------------------------------------------------

IdCard.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">
<hibernate-mapping package="com.soft.gread1">
<class name="IdCard" table="t_idcard">
<id name="id" >
            <generator class="native"/>
</id>
<property name="cardNo" />
<one-to-one name="people"></one-to-one>
</class>
</hibernate-mapping>


原创粉丝点击