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>