- 浏览: 115193 次
- 性别:
- 来自: 上海
文章分类
最新评论
抓取策略(单端代理的批量抓取)
1 保持默认,也就是fetch="select"
<many-to-one name="classes" column="classesid" cascade="save-update"/>
fetch="select",另外发送一条select语句抓取当前对象关联实体或集合
2 设置fetch="jion"
<many-to-one name="classes" column="classesid" cascade="save-update" fetch="join"/>
fetch="jion",hibernate会通过select语句会使用外联接来加载其关联实体或集合,此时lazy会失效
------------------------------------------------------------
抓取策略(集合代理的批量抓取)
1 保持默认,也就是fetch="select"
<set name="students" fetch="select">
fetch="select",另外发送一条select语句抓取当前对象关联实体或集合
2 设置fetch="jion"
<set name="students" fetch="jion">
fetch="jion",hibernate会通过select语句会使用外联接来加载其关联实体或集合,此时lazy会失效
3 设置fetch="subselect"
<set name="students" fetch="subselect">
fetch="subselect",用于createQuery()查询,另外发送一条select语句抓取在前面查询到的所有实体对象的关联集合
----------------------------------------------------------------
抓取策略,batch-size在<class>上的应用
batch-size属性,可能批量加载体类,参见:Classes.hbm.xml
<class name="Classes" table="t_classes" batch-size="3">
在hibernate.cfg.xml中设置
<property name="hibernate.jdbc.fetch_size">50</property>
发表评论
-
hibernate基础-初步
2009-11-03 15:26 626类拟框架:Apache OJB,JDO,Toplink,EJB ... -
hibernate基础-基本映谢标签和属性
2009-11-03 15:35 664hibernate基本映射 实体类------>表 实体 ... -
hibernate基础-映射关系(多对一I一对一)
2009-11-03 15:53 496多对一关联映射 many-to-one关联映射本质: * ... -
hibernate基础-映射关系(一对多I多对多).
2009-11-03 16:04 600一对多关联映射(one-to-many) 一对多关联映射利用了 ... -
hiberante基础-继承映射
2009-11-03 16:15 753继承映射的三种策略: * 单表继承,每棵类继承树使用一个表 ... -
hibernate基础-其他映射
2009-11-03 16:17 666set、list、array、map Collection: ... -
hibernate基础-自关联映射
2009-11-03 16:19 7521 class Node: private int id;pr ... -
hibernate基础-Component+[联合]映象
2009-11-03 16:22 508Component映射(值对象映射) 在hibernate中, ... -
hibernate基础-lazy策略
2009-11-03 16:33 790lazy策略可以使用在: * <class> ... -
hibernate基础-Session_Flush
2009-11-03 16:37 695session flush测试: session ... -
hibernate基础-悲观[乐观]锁
2009-11-03 16:40 493悲观锁 悲观锁的实现,通常依赖于数据库机制,在整个过程中将数据 ... -
hiberante基出-缓存
2009-11-03 16:49 501一级缓存 * 一级缓存是缓存实体对象的 * 如果管理一 ... -
hibernate基础-HQL
2009-11-03 17:14 537在hql中关键字不区分大小写,但是属性和类名区分大不写简单属性 ... -
hibernate基础-HibernateTemplate
2009-11-03 17:20 5741 ,void delete ( Object entity ... -
[导入]Hibernate 深入研究之 Criteria
2009-11-03 17:35 565文章来源:http://www.cnblogs.com/ ... -
DetachedCriteria
2009-11-03 17:41 658org.hibernate.criterion.Detache ... -
Restrictions
2009-11-03 17:46 727HQL运算符 ... -
hibernate.cfg.xml
2009-11-03 17:56 612<?xml version="1.0&quo ... -
由映射文件生成表
2009-11-03 17:57 555import org.hibernate.cfg.Confi ... -
JNDI连接池
2009-11-29 21:19 724管理连接对象 Modle:biz,dao,entity 数据源 ...
相关推荐
在实际应用中,我们还可以结合使用HQL(Hibernate Query Language)或Criteria API来实现更复杂的批量抓取,比如使用`JOIN FETCH`关键字进行左连接加载: ```java Query<User> query = session.createQuery( "from...
今天我们将深入探讨"day36 06-Hibernate抓取策略",特别是针对set集合的抓取策略。在阅读这篇博客文章(链接:https://364232252.iteye.com/blog/2368811)后,我们将了解到如何优化数据加载,以避免N+1查询问题,...
为了解决这个问题,我们可以使用预加载(eager loading)或者子集加载(fetch plan)等抓取策略。 在"many-to-one"关系中,一个实体可以与多个其他实体相关联。默认情况下,Hibernate会设置这种关联为懒加载,即...
例如,通过设置合适的 `hibernate.max_fetch_depth` 和 `hibernate.default_batch_fetch_size` 可以显著提升应用性能;而启用 `hibernate.generate_statistics` 则有助于我们更好地监控和分析应用性能瓶颈。此外,...
hibernate.default_batch_fetch_size 参数用于设置 Hibernate 关联的批量抓取默认数量。其取值建议为 4、8 或 16。 9. hibernate.default_entity_mode hibernate.default_entity_mode 参数用于指定由这个 ...
- `hibernate.max_fetch_depth`:控制外连接抓取的深度,默认值为0表示关闭。 - `hibernate.default_batch_fetch_size`:设置默认的批量抓取大小,提高查询性能。 - `hibernate.default_entity_mode`:定义...
在Java的持久化框架Hibernate中,数据访问优化是至关重要的,而抓取策略(Fetch Strategy)和懒加载(Lazy Loading)则是实现这一目标的关键技术。本文将深入探讨这两个概念,并通过具体的案例进行分析。 首先,让...
描述:本文深入解析了HIBERNATE的检索策略,为读者提供了一条清晰的学习路径,重点分析了HIBERNATE中的抓取策略及其应用场景,帮助开发者更有效地管理和优化数据加载过程。 在HIBERNATE框架中,检索策略主要涉及...
### Hibernate框架基础四:深入理解HQL多表检索、事务及隔离级别、HQL优化与抓取策略 #### 一、HQL多表检索 **HQL (Hibernate Query Language)** 是一种面向对象的查询语言,它允许开发人员使用类名和属性名来执行...
Hibernate.max_fetch_depth 属性用于控制 Hibernate 的外连接抓取(outer join fetch)树的最大深度。该属性的值可以是 0 到 3 之间的整数,建议的取值是 0 到 3。 hibernate.default_batch_fetch_size Hibernate....
13. **hibernate.jdbc.fetch_size**: 设置JDBC抓取(fetch)大小,非零值,通过`Statement.setFetchSize()`控制。 14. **hibernate.jdbc.batch_size**: 用于启用JDBC2批量更新,建议值在5到30之间。 15. **...
19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...
6. **hibernate.max_fetch_depth**:控制单向关联的外连接抓取深度,较高的值可能导致更多的数据库查询,建议值在0到3之间。 7. **hibernate.default_batch_fetch_size**:默认的批量抓取大小,可以提高性能,常见...
19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...
1. **hibernate.jdbc.fetch_size**:设置JDBC的抓取大小,以优化结果集的处理。 2. **hibernate.jdbc.batch_size**:用于批量更新操作,提高性能。通常建议值在5到30之间。 3. **hibernate.jdbc.batch_versioned_...
- `hibernate.jdbc.fetch_size` 和 `hibernate.jdbc.batch_size`: 调整JDBC抓取和批处理的数量。 - `hibernate.show_sql` 和 `hibernate.format_sql`: 显示和格式化最终执行的SQL语句。 ##### 3. Hibernate JPA ...
此外,通过设置`hibernate.default_batch_fetch_size`,可以启用批量抓取优化,但这并不适用于所有情况。有时,根据事务的需求,可能需要使用非延迟的连接抓取,尤其是在需要高效获取关联数据的场景下,连接抓取可以...
19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...