chrislin1988 发表于 2013-2-5 08:46:20

一对一外键关联

一对一外键关联使用的是多对一关联策略,只是在多的一端外键上添加一个unique约束来实现一对一
实体类:
package com.chris.entity;/** * 人 * @author Administrator * */public class Person {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;}} 
package com.chris.entity;/** * 身份证 * @author Administrator * */public class IDCard {private int id;private String cardNo;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;}} 
映射文件:
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.chris.entity"><class name="Person"><id name="id"><generator class="native" /></id><property name="name" /><many-to-one name="idCard" class="IDCard" column="idCard_id"unique="true" not-null="false" /></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.chris.entity">             <class name="IDCard">          <id name="id">            <generator class="native"/>          </id>          <property name="cardNo"/>       </class></hibernate-mapping> 
页: [1]
查看完整版本: 一对一外键关联