hibernate一对一单项关联映射


一、主键关联

  1、两个实体对象的主键一样,以表明它们之间的一一对应关系;

  2、不需要多余的外键字段来维护关系,仅通过主键来关联,即Person的主键要依赖IdCard的主键,他们共用一个主键值。

Person.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.liang.hibernate">  
    <class name="Person" table="t_person">  
        <id name="id">  
          
            <generator class="foreign" >  
                <param name="property">idCardparam>  
            generator>  
        id>  
        <property name="name">property>  
          
           
        <one-to-one name="idCard" class="IdCard"  constrained="true">one-to-one>  
    class>  
hibernate-mapping>  

二、唯一外键关联

 1、两个实体对象用一个外键来关联,以表表明对象之间的关系。

 2、其实它是多对一关联映射的特例,多的一端加上唯一的限制之后,用来表示一对一的关联关系。

Person.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.liang.hibernate">  
    <class name="Person" table="t_person">  
        <id name="id">  
            <generator class="native" >generator>  
        id>  
        <property name="name">property>