hibernate中配备一对一映射(基于外键)

hibernate中配置一对一映射(基于外键)

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

Person       id(pk)

               name

IdCard              id(pk)

                   usefulDate

                   person_id(fk)

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

Person.java

public class Person {

   private int id;

   private String name;

   private IdCard idCard;

 

   //getters and setters

}

IdCard.java

public class IdCard {

   private int id;

   private Date usefulDate;

   private Person person;

 

   //getters and setters

}

 Person.hbm.xml

<hibernate-mapping package="com.susan.hibernate.entity">

   <class name="Person" table="tperson">

      <id name="id">

           <generator class="sequence">

          <param name="sequence">seq_person</param>

         </generator>

      </id>

      <property name="name" column="name" />

      <one-to-one name="idCard" property-ref="person"/>

   </class>

</hibernate-mapping>

 IdCard.hbm.xml

<hibernate-mapping package="com.susan.hibernate.entity">

   <class name="IdCard" table="tidcard">

      <id name="id">

         <generator class="sequence">

      <param name="sequence">seq_idcard</param>

      </generator>

      </id>

      <property name="usefulDate" column="usefulDate" />

      <many-to-one name="person" column="person_id" unique="true" not-null="true"/>

   </class>

</hibernate-mapping>