`
wandejun1012
  • 浏览: 2690003 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate 抓取策略

 
阅读更多

 

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抓取策略和懒加载案例,供大家下载查看。大家都知道,hibernate都设计到一个优化问题。

    day36 06-Hibernate抓取策略:set集合上的抓取策略

    NULL 博文链接:https://364232252.iteye.com/blog/2368811

    day36 07-Hibernate抓取策略:many-to-one上的抓取策略

    NULL 博文链接:https://364232252.iteye.com/blog/2368886

    day36 08-Hibernate抓取策略:批量抓取

    NULL 博文链接:https://364232252.iteye.com/blog/2368890

    Hibernate学习笔记

    001 Hibernate 简介(开源 O/R 映射框架) 002 第一个 Hibernate 示例 003 hibernate 主要接口介绍 004 持久对象的生命周期介绍 005 query 接口初步 006 开源 O/R 映射框架内容回顾 ...029 hibernate 抓取策略

    hibernate学习笔记

    Hibernate 学习笔记 Hibernate 学习笔记 1 第一个hibernate项目(hibernate_first) 2 测试实体对象的生命周期(hibernate_session) 3 ...hibernate抓取策略 53 Hibernate最佳实践(Best Practices) 55

    hibernate3数据检索、抓取策略 、 注解的使用

    hibernate3数据检索、抓取策略 、 注解的使用

    Hibernate中的多表查询及抓取策略

    本文主要介绍了Hibernate中的多表查询及抓取策略,具有很好的参考价值,下面跟着小编一起来看下吧

    Hibernate框架 jar 架包 开发详解

    Hibernate 简介 Hibernate 开发流程 Hibernate 配置文件 Hibernate 核心接口和类 Hibernate ORM映射 HQL Hibernate 懒加载机制与抓取策略 Hibernate 缓存 Hibernate 锁机制

    Hibernate实战(第2版)高清

    你将直接深入到Hibernate的富编程模型之中,贯穿映射、查询、抓取策略、事务、会话、缓存以及更多其他内容。书中图文并茂地介绍了数据库设计和优化技术的实践。在本书中,作者详尽介绍了具有Java持久化2.1标准的...

    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...

    Hibernate3性能优化 Hibernate_regerence3.12

    有很多人认为Hibernate天生效率比较低,确实,在普遍情况下,需要将执行转换为SQL语句的 Hibernate 的效率低于直接JDBC存取,然而,在经过比较好...Hibernate的优化策略: 1.抓取优化 2.二级缓存 3.批量数据操作 4.杂项

    Hibernate3开发.pdf

    系统学习Hibernate3的开发知识,循序渐进 ... 包括:抓取策略、集合的性能、二级缓存、查询缓存、管理缓存 第七章:基本实现原理 包括:分增删改查的操作说明Hibernate基本的实现原理 第八章:最佳实践

    hibernate3.2中文文档(chm格式)

    19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...

    HibernateAPI中文版.chm

    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实战(第2版 中文高清版)

     13.2 选择抓取策略   13.2.1 批量预抓取数据   13.2.2 通过子查询预抓取集合   13.2.3 通过联结即时抓取   13.2.4 给二级表优化抓取   13.2.5 优化指导方针   13.3 高速缓存基本原理   13.3.1 高速...

    Hibernate 中文 html 帮助文档

    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_day04.zip

    hibernte学习第四天代码,Hibernate的查询方式和抓取策略

Global site tag (gtag.js) - Google Analytics