hibernate 一对一的主键映射 单向

其中最重要的还是***.hbm.xml

 

现在是一个人与一个身份证的对应 人的id与身份证上的id 一一对应

 

相应的映射代码是:

 

<hibernate-mapping>
 <class name="hibernate.CardId" table="t_cardid">
   <id name="id">
    <generator class="native"/>
   </id>
   <property name="idNO"/>
 </class>
 
</hibernate-mapping>

 

 

<hibernate-mapping>
 <class name="hibernate.Person" table="t_person">
   <id name="id">
    <generator class="foreign">
     <param name="property">cardId</param>
    </generator>
   </id>
   <property name="name"/>
   <one-to-one name="cardId" constrained="true"/>
 </class>
 
</hibernate-mapping>

 

在这个xml中 要注意的是,生成器了,因为它的id 是借用别人的id 所以要有一个关系的字段,cardId 

 <one-to-one name="cardId" constrained="true"/> 的后面的一个一写要加,这是说明person的主键为外键来参照别的表的主键

 

 

只有这一个是自动级联的,不用设casecade  =“true”

你可能感兴趣的:(xml,Hibernate)