码迷,mamicode.com
首页 > Web开发 > 详细

hibernate关联关系查询

时间:2017-02-26 00:09:46      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:property   多对一   mod   uid   res   generator   hbm   ati   初始化   

关联关系

一对一 A中包含B的对象,B中包含A的对象

一对多 A中包含B的集合,B中包含A的对象

多对多 A中包含B的集合,B中包含A的集合

1,一对多配置

  一名老师可以对应多名学生

2,模型类

    老师类中包含学生的集合(通常可以将集合直接进行初始化)

    学生类中包含老师的对象

3,配置

  

 1 TeacherModel.hbm.xml(教师)
 2                 <hibernate-mapping package="cn.itcast.h3.realtion.one2many.vo" >
 3                     <class name="TeacherModel" table="tbl_teacher">
 4                         <id name="uuid">
 5                             <generator class="native"/>
 6                         </id>
 7                         <property name="teacherName"/>
 8                         <property name="nick"/>
 9                         <!-- name:集合对象名 -->
10             <set name="students">
11                 <!-- 使用key描述对应的关系表中的外键字段 -->
12                 <!-- column:外键字段名(student表中) -->
13                 <key column="teacherUuid"/>
14                 <!-- 使用one-to-many配置关联关系 -->
15                 <!-- class:配置对应的关系模型类 -->
16                 <one-to-many class="cn.itcast.h3.one2many.StudentModel"/>
17                         </set>
18                     </class>
19                 </hibernate-mapping>
20             注意:key元素必须出现在one-to-many元素的前面,否则报错
21             StudentModel.hbm.xml(学生)
22                 <hibernate-mapping package="cn.itcast.h3.realtion.one2many.vo" >
23                     <class name="StudentModel" table="tbl_student">
24                         <id name="uuid">
25                             <generator class="native"/>
26                         </id>
27                         <property name="studentName"/>
28                         <property name="className"/>
29                            <!-- 配置多对一关系中的一方对象 -->
30                         <!-- many-to-one描述多对一关系 -->
31                         <!-- name:对象名 -->
32                         <!-- column:外键字段名(student表中) -->
33                         <!-- class:配置对应的关系模型类 -->
34                         <many-to-one 
35                             name="teacher"
36                             column="teacherUuid"
37                             class="cn.itcast.h3.one2many.TeacherModel"
38                             />
39                     </class>
40                 </hibernate-mapping>

4,资源注册  

<mapping resource="cn/itcast/h3/one2many/vo/StudentModel.hbm.xml"/>
               <mapping resource="cn/itcast/h3/one2many/vo/TeacherModel.hbm.xml"/>

5,备注:

  两边的配置也可以只配置一方,

  如果仅仅配置老师可以通过老师找到学生,但是不能通过学生找到老师

  如果只配置学生可以通过学生找到老师,但是不能通过老师找到学生

  

 

 

  

hibernate关联关系查询

标签:property   多对一   mod   uid   res   generator   hbm   ati   初始化   

原文地址:http://www.cnblogs.com/czb2580/p/6443231.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!