hibernate关联关系查询
关联关系
一对一 A中包含B的对象,B中包含A的对象
一对多 A中包含B的集合,B中包含A的对象
多对多 A中包含B的集合,B中包含A的集合
1,一对多配置
一名老师可以对应多名学生
2,模型类
老师类中包含学生的集合(通常可以将集合直接进行初始化)
学生类中包含老师的对象
3,配置
TeacherModel.hbm.xml(教师)
<hibernate-mapping package="cn.itcast.h3.realtion.one2many.vo" >
<class name="TeacherModel" table="tbl_teacher">
<id name="uuid">
<generator class="native"/>
</id>
<property name="teacherName"/>
<property name="nick"/>
<!-- name:集合对象名 -->
<set name="students">
<!-- 使用key描述对应的关系表中的外键字段 -->
<!-- column:外键字段名(student表中) -->
<key column="teacherUuid"/>
<!-- 使用one-to-many配置关联关系 -->
<!-- class:配置对应的关系模型类 -->
<one-to-many class="cn.itcast.h3.one2many.StudentModel"/>
</set>
</class>
</hibernate-mapping>
注意:key元素必须出现在one-to-many元素的前面,否则报错
StudentModel.hbm.xml(学生)
<hibernate-mapping package="cn.itcast.h3.realtion.one2many.vo" >
<class name="StudentModel" table="tbl_student">
<id name="uuid">
<generator class="native"/>
</id>
<property name="studentName"/>
<property name="className"/>
<!-- 配置多对一关系中的一方对象 -->
<!-- many-to-one描述多对一关系 -->
<!-- name:对象名 -->
<!-- column:外键字段名(student表中) -->
<!-- class:配置对应的关系模型类 -->
<many-to-one
name="teacher"
column="teacherUuid"
class="cn.itcast.h3.one2many.TeacherModel"
/>
</class>
</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关联关系映射
1. Hibernate关联关系映射 1.1. one to one <class name="Person"> <id name="id" ...
- Hibernate【查询、连接池、逆向工程】
前言 在Hibernate的第二篇中只是简单地说了Hibernate的几种查询方式....到目前为止,我们都是使用一些简单的主键查询阿...使用HQL查询所有的数据....本博文主要讲解Hiberna ...
- Hibernate:查询
本文内容 OID查询 对象导航查询 HQL查询 QBC查询 SQL查询 首发日期:2018-07-31 hibernate的查询方式: hibernate有很多查询方式 OID查询 对象导航查询: H ...
- hibernate关联关系的crud2
hibernate关联关系的CRUD操作,解释都在注释里了,讲了fetchType.cascade. User类: package com.oracle.hibernate; import javax ...
- Hibernate 关联关系(一对多)
Hibernate 关联关系(一对多) 1. 什么是关联(association) 1.1 关联指的是类之间的引用关系.如果类A与类B关联,那么被引用的类B将被定义为类A的属性.例如: class B ...
- hibernate模糊查询
hibernate模糊查询-Restrictions.ilike & Expression.like Criteria criteria = session.createCriteria(Ta ...
- hibernate关联关系笔记
Hibernate关联关系笔记 单向N:1 * 有连接表:在N方使用<join>/<many-to-one>.1方无需配置与之关联的持久化类. * 没有连接表:在N方使用& ...
- Hibernate的查询方式总结
Hibernate的查询方式大体有三种,分别是HQL QBC和SQL三种.在网上查阅一一些资料,做了一个简单的总结. 1. SQL sql 是面向数据库表查询,from 后面跟的是表名,where 后 ...
- atitit。 hb Hibernate sql 查询使用
atitit. hb Hibernate sql 查询使用 #----------返回list<map>法..这个推荐使用. q.setResultTransformer(Tr ...
随机推荐
- 洛谷 P1122 最大子树和
P1122 最大子树和 题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的 ...
- 选择器的使用(nth-of-type和nth-last-of-type选择器)
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...
- Android内存泄露之开篇
先来想这三个问题 内存泄露是怎么回事 内存会泄露的原因 避免内存泄露 1.内存泄露怎么回事 一个程序中,已经不须要使用某个对象,可是由于仍然有引用指向它垃圾回收器就无法回收它,当然该对象占用的内存就无 ...
- SQL Server游标 C# DataTable.Select() 筛选数据 什么是SQL游标? SQL Server数据类型转换方法 LinQ是什么? SQL Server 分页方法汇总
SQL Server游标 转载自:http://www.cnblogs.com/knowledgesea/p/3699851.html. 什么是游标 结果集,结果集就是select查询之后返回的所 ...
- Android一些网站介绍
1.开源镜像: Android SDK在线更新镜像服务器 中国科学院开源协会镜像站地址: IPV4/IPV6: http://mirrors.opencas.cn 端口:80 IPV4/IPV6: h ...
- 2016/1/25 多线程 作业 方法一 继承Thread 方法二 实现Runnable 多线程笔记
/* * 1,尝试定义一个继承Thread类的类,并覆盖run()方法, * 在run()方法中每隔100毫秒打印一句话.*/ package Stream; //方法一 继承Thread 实现多线程 ...
- 【bzoj4591】[Shoi2015]超能粒子炮·改
设S(n,k)=Σ C(n,i) i=0..k 根据lucas定理可以得到 S(n,k) mod p = [ S(n/p,k/p-1)*S(n mod p,p-1)+C(n/p,k/p)*S(n mo ...
- a non-linear editing software
VLMC, open source video editor - VideoLAN http://www.videolan.org/vlmc/
- flash、flex builder、flash builder、 air的关系
flash VS flex builder flash被adobe收购的时候是flash8,已经可以AS2面向对象了. 而被adobe收购后,adobe准备把flash打造成一个开发工具.就比如JBU ...
- RDA 互斥锁的使用
在多线程下,在同一时间内,可能有多个线程在操作.如果没有同步机制,那么很难保证每个线程操作的正确性. 1.互斥锁概念: 互斥锁提供一个可以在同一时间,只让一个线程访问临界资源的的操作接口.互斥锁(Mu ...