- 浏览: 151578 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (210)
- java (44)
- javascript (5)
- 网摘 (21)
- 程序人生 (19)
- hibernate (21)
- spring (7)
- struts (1)
- jquery (2)
- mssql (3)
- mysql (3)
- oracle (7)
- 学习日记 (10)
- PowerDesigner (1)
- android (4)
- 调试 (1)
- tomcat (3)
- webapp (1)
- context (2)
- jsp (2)
- 学习 (18)
- 态度 (4)
- 坚持 (4)
- jsf (1)
- ui (1)
- css (1)
- seam (0)
- 转载 (5)
- JNDI (1)
- 创业 (1)
- 公司 (1)
- 方向 (1)
- ETL (1)
- Datastage (1)
- 数据整合 (1)
- 心情,感触 (1)
- 开发 (2)
- 测试 (1)
- 需求 (1)
- 湿身 (1)
- 网购,分类 (1)
- 驾校,转载 (1)
- 中秋,露营 (1)
- 域名 (1)
- 空间 (1)
- 网站程序 (1)
- SolrCloud (1)
- Solr (6)
- 全文库 (1)
- HBase (1)
- Hadoop (1)
- 网络应用 (1)
- 数据结构 (1)
- NoSQL (1)
- jQueryEasyUI (1)
- 面试 (1)
- 三十六计 (1)
- S2S3H4 (1)
- jar (1)
- war (1)
- web 项目 (1)
- Subversion (1)
- TortoiseSVN (1)
- MyEclipse (1)
- eclipse svn插件 (1)
- SQL2005 (1)
- ASP (1)
- 笔记 (2)
- 虚拟器、centOS、jdk、tomcat、nginx (1)
- memcached (1)
- nginx (1)
- telnet (1)
- nfs (1)
- zookeeper (2)
- window (1)
- linux (3)
- cronolog (1)
- web (1)
- mybatis (3)
- 设计模式 (1)
- 测试覆盖率 (1)
- EclEmma (1)
- tomcat7 (1)
- sore (1)
- 时间 (1)
- fackbook (0)
- facebook (1)
- IK (2)
- PKUSUMSU (1)
- openoffice (1)
- pdf (1)
- memcache (1)
- 动态词库 (1)
- 动态同义词 (1)
- centos7.3 (2)
- maven (4)
- 111 (0)
- nexus (2)
- 23种设计模式 (1)
- springboot (1)
- shiro (1)
- redis (1)
- rabbitMQ (1)
- native (1)
- dll (1)
- jasperReports (1)
- ireport (1)
最新评论
-
zhongfenglin:
学车的经历 -
Tiny_小小:
...
网购的选择 -
jrjr200411:
楼主写的好!
面对大公司和小公司的选择 -
feelboy:
说的很好。
每周四十小时,你有多少是在为自己干活?
hibernate抓取策略(单端代理的批量抓取)
保持默认,同fetch="select",如:
<many-to-one name="classes" column="classesid" fetch="select"/>
fetch="select",另外发送一条select语句抓取当前对象关联实体或集合
//fetch1,fetch2 public void testFetch1() { Session session = null; try { session = HibernateSessionFactory.getSession(); session.beginTransaction(); Student student = (Student)session.load(Student.class, 1); System.out.println("student.name=" + student.getName()); System.out.println("classes.name=" + student.getClasses().getName()); session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateSessionFactory.closeSession(session); } }
设置fetch="join",如:
<many-to-one name="classes" column="classesid" fetch="join"/>
fetch="join",hibernate会通过select语句使用外连接来加载其关联实体或集合
此时lazy会失效,同上
保持默认,同fetch="select",如:
<set name="students" inverse="true" cascade="all" fetch="select">
fetch="select",另外发送一条select语句抓取当前对象关联实体或集合
//fetch3,fetch4 public void testFetch2() { Session session = null; try { session = HibernateSessionFactory.getSession(); session.beginTransaction(); Classes classes = (Classes)session.load(Classes.class, 1); System.out.println("classes.name=" + classes.getName()); for (Iterator iter=classes.getStudents().iterator(); iter.hasNext();) { Student student = (Student)iter.next(); System.out.println("student.name=" + student.getName()); } session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateSessionFactory.closeSession(session); } }
设置fetch="join",如:
<set name="students" inverse="true" cascade="all" fetch="join">
fetch="join",hibernate会通过select语句使用外连接来加载其关联实体或集合
此时lazy会失效
设置fetch="subselect",如:
<set name="students" inverse="true" cascade="all" fetch="subselect">
fetch="subselect",另外发送一条select语句抓取在前面查询到的所有实体对象的关联集合
//fetch5 public void testFetch3() { Session session = null; try { session = HibernateSessionFactory.getSession(); session.beginTransaction(); List classesList = session.createQuery("select c from Classes c where c.id in(1, 2, 3)").list(); for (Iterator iter=classesList.iterator(); iter.hasNext();) { Classes classes = (Classes)iter.next(); System.out.println("classes.name=" + classes.getName()); for (Iterator iter1=classes.getStudents().iterator(); iter1.hasNext();) { Student student = (Student)iter1.next(); System.out.println("student.name=" + student.getName()); } } session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateSessionFactory.closeSession(session); } }
batch-size属性,可以批量加载实体类,参见:Classes.hbm.xml
<class name="Classes" table="t_classes" batch-size="3">
List students = session.createQuery("select s from Student s where s.id in(:ids)") .setParameterList("ids", new Object[]{1, 11, 21, 31, 41, 51, 61, 71, 81, 91}) .list(); for (Iterator iter=students.iterator(); iter.hasNext();) { Student student = (Student)iter.next(); System.out.println("student.name=" + student.getName()); System.out.println("classes.name=" + student.getClasses().getName()); }
batch-size属性,可以批量加载实体类,参见:Classes.hbm.xml
<set name="students" inverse="true" cascade="all" batch-size="5">
List classesList = session.createQuery("select c from Classes c").list(); for (Iterator iter=classesList.iterator(); iter.hasNext();) { Classes classes = (Classes)iter.next(); System.out.println("classes.name=" + classes.getName()); for (Iterator iter1=classes.getStudents().iterator(); iter1.hasNext();) { Student student = (Student)iter1.next(); System.out.println("student.name=" + student.getName()); } }
发表评论
-
Hibernate工作原理
2019-05-14 20:00 328hibernate 简介:hibernate是一个开源框架, ... -
SSH整合的几种最常见方式 .
2012-03-22 12:00 1207Spring实例Action的两种方式:1、Delegatin ... -
Hibernate Annotation笔记
2011-11-23 23:58 619(1)简介:在过去几年里,Hibernate不断发展,几乎 ... -
使用 Hibernate 进行大数据量的性能测试
2010-11-08 20:28 984近日为是否在项目中使 ... -
加速你的Hibernate引擎
2010-11-08 19:35 702参考(上、下): http://blog.csdn.net/ ... -
hibernate各种属性配置
2010-10-29 10:32 997hibernate.dialect 一个Hibern ... -
hibernate的映射
2010-10-24 17:41 703集合映射 public class CollectionMa ... -
多对多
2010-10-24 17:11 692多对多单向 User(多)对多(Role),一般都是通过中间 ... -
多对一
2010-10-24 17:00 826多对一单向 User(多)对Group(一),在User实体 ... -
一对多
2010-10-24 16:51 718一对多单向 定义两个实体类,及两个映射文件 一对多一的一端 ... -
一对一
2010-10-24 16:36 658一对一单向 定义两个类,两个映射文件一个工具类生成表 pu ... -
hibernate的继承
2010-10-24 15:54 657每棵继承树映射成一张表 1、理解如何映射 因为类继承树肯定 ... -
hibernate的锁
2010-10-24 15:48 739乐观锁 大多数基于数据版本记录机制(version)实现,一 ... -
hibernate的lazy
2010-10-24 15:44 782hibernate lazy策略可以使用在: * <cl ... -
hibernate的缓存
2010-10-24 15:33 978hibernate一级缓存 一级缓存很短和session的生命 ... -
session管理
2010-10-24 15:01 812了解Hibernate中CRUD操作 了解get和load的 ... -
hibernate查询语言hql
2010-10-24 13:46 1089在hql中关键字不区分大 ... -
hibernate基本配置
2010-10-24 13:22 7961.开发环境Window 2.开发工具MyEclispe5. ... -
Hibernate 各种数据库的配置
2010-09-13 10:33 9191. MySql连接配置 MySql数据库的hiber ... -
hibernate学习
2009-07-21 13:54 902hibernate多对多的解决Hibernate多对多的例子 ...
相关推荐
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的查询方式和抓取策略