读书人

Hibernate 一对一 关系的兑现(共享主键

发布时间: 2012-10-06 17:34:01 作者: rapoo

Hibernate 一对一 关系的实现(共享主键)

实体类 Student 和 StudentInfo 是一对一的关系.可以采用共享主键或者外键约束的形式进行连接

构造实体类:

?

public class Student { private int sid; private String name; private String password; private StudentInfo stdinfo; //这一条一定要加,下面省略了无参构造和getter setter  }   public class StudentInfo { private int sinfoid; private String email; private int qq; private String address; private Student student;    //这一条一定要加,下面省略了无参构造和getter setter  }

?

映射文件的写法:

student.hbm.xml:

?

<hibernate-mapping package="day3.entity"> <class name="day3.entity.Student" table="student1">  <id column="id" name="sid">   <generator lazy="false" name="name"/>  <property generated="never" lazy="false" name="password"/>  <one-to-one name="stdinfo" cascade="all"/>   <!-- 主要是注意这里--> </class></hibernate-mapping>

??

//=====================================================================

studentinfo.hbm.xml:

?

<hibernate-mapping> <class name="day3.entity.StudentInfo" table="studentinfo">  <id column="sinfoid" name="sinfoid">   <generator lazy="false" name="email"/>  <property generated="never" lazy="false" name="qq"/>  <property generated="never" lazy="false" name="address"/>  <one-to-one name="student"></one-to-one>  <!--这里必不可少--> </class></hibernate-mapping>

?

读书人网 >软件架构设计

热点推荐