讨教:hibernate一对多查询时出异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了讨教:hibernate一对多查询时出异常相关的知识,希望对你有一定的参考价值。

参考技术A 备忘中建议一个评论的Set集合 在备忘bean对象里的评论Set集合上写Casecade.Enger(级联查询)在jsp 页面中可以用 jstl 表达式 或struts2的标签实现 祝你好运

hibernate关联关系查询

关联关系

一对一 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一对多查询时出异常的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate JPA双向一对多结果与约束冲突异常

使用一对多映射保存对象时出现 Spring + Hibernate id 问题

hibernate 一对多 查询问题

使用 Hibernate 删除一对多关系中的对象时 PostgreSQL 异常

保存一对多实体时出现神奇记录异常

hibernate 一对多 查询怎么去掉重复数据