1.单端代理(对端是One,即many2one):
1.1 在用many2one时,fetch可以采取select或者join.
* 用select时,会另发一条语句加载关联对象。
* 用join时,用一条语句就查上来,相当于数据库里面的连接,内连接外连接取决于外键是否允许为空。
注意:这个规则仅适用于get或者load时,对HQL没有任何作用,即依然是会另发一条语句。
2.集合代理(对端是集合,即one2many)
2.1 这里fetch有3种取值:select,join,subselect
* select,join和单端代理的一样,只影响load和get,对HQL无用。
* 而subselect对get和load无效,对HQL有效。即用subselect,get和load还是另发一条语句,而HQL却是一下子查出来(比如select * from students where classid in (select * from classes))
3.批量抓取(主要是用在many2one,或者one2many中的多的一方,加上一个batch-size=5)
* 用在多的一端,假设many2one当中,50个学生对应50个不同班级,那么查询50个学生后,就得再查50次,才能将50个班级查出来,而如果在学生上加上batch-size=10,那么只要查50/10=5次就可以将班级全部查出来,用的是sql中的in原理。
------------------------------------------------------------
join和join fetch的区别:
join对load,get有效,对hql无效。
join fetch一般对hql有效。
相关推荐
hibernate抓取策略和懒加载案例,供大家下载查看。大家都知道,hibernate都设计到一个优化问题。
NULL 博文链接:https://364232252.iteye.com/blog/2368811
NULL 博文链接:https://364232252.iteye.com/blog/2368886
NULL 博文链接:https://364232252.iteye.com/blog/2368890
001 Hibernate 简介(开源 O/R 映射框架) 002 第一个 Hibernate 示例 003 hibernate 主要接口介绍 004 持久对象的生命周期介绍 005 query 接口初步 006 开源 O/R 映射框架内容回顾 ...029 hibernate 抓取策略
Hibernate 学习笔记 Hibernate 学习笔记 1 第一个hibernate项目(hibernate_first) 2 测试实体对象的生命周期(hibernate_session) 3 ...hibernate抓取策略 53 Hibernate最佳实践(Best Practices) 55
hibernate3数据检索、抓取策略 、 注解的使用
本文主要介绍了Hibernate中的多表查询及抓取策略,具有很好的参考价值,下面跟着小编一起来看下吧
Hibernate 简介 Hibernate 开发流程 Hibernate 配置文件 Hibernate 核心接口和类 Hibernate ORM映射 HQL Hibernate 懒加载机制与抓取策略 Hibernate 缓存 Hibernate 锁机制
你将直接深入到Hibernate的富编程模型之中,贯穿映射、查询、抓取策略、事务、会话、缓存以及更多其他内容。书中图文并茂地介绍了数据库设计和优化技术的实践。在本书中,作者详尽介绍了具有Java持久化2.1标准的...
19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...
有很多人认为Hibernate天生效率比较低,确实,在普遍情况下,需要将执行转换为SQL语句的 Hibernate 的效率低于直接JDBC存取,然而,在经过比较好...Hibernate的优化策略: 1.抓取优化 2.二级缓存 3.批量数据操作 4.杂项
系统学习Hibernate3的开发知识,循序渐进 ... 包括:抓取策略、集合的性能、二级缓存、查询缓存、管理缓存 第七章:基本实现原理 包括:分增删改查的操作说明Hibernate基本的实现原理 第八章:最佳实践
19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...
19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...
13.2 选择抓取策略 13.2.1 批量预抓取数据 13.2.2 通过子查询预抓取集合 13.2.3 通过联结即时抓取 13.2.4 给二级表优化抓取 13.2.5 优化指导方针 13.3 高速缓存基本原理 13.3.1 高速...
19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...
hibernte学习第四天代码,Hibernate的查询方式和抓取策略