`

hibernate基础-fetch抓取

阅读更多

抓取策略(单端代理的批量抓取)
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>

分享到:
评论

相关推荐

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

    在实际应用中,我们还可以结合使用HQL(Hibernate Query Language)或Criteria API来实现更复杂的批量抓取,比如使用`JOIN FETCH`关键字进行左连接加载: ```java Query&lt;User&gt; query = session.createQuery( "from...

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

    今天我们将深入探讨"day36 06-Hibernate抓取策略",特别是针对set集合的抓取策略。在阅读这篇博客文章(链接:https://364232252.iteye.com/blog/2368811)后,我们将了解到如何优化数据加载,以避免N+1查询问题,...

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

    为了解决这个问题,我们可以使用预加载(eager loading)或者子集加载(fetch plan)等抓取策略。 在"many-to-one"关系中,一个实体可以与多个其他实体相关联。默认情况下,Hibernate会设置这种关联为懒加载,即...

    Hibernate 参数配置详解

    例如,通过设置合适的 `hibernate.max_fetch_depth` 和 `hibernate.default_batch_fetch_size` 可以显著提升应用性能;而启用 `hibernate.generate_statistics` 则有助于我们更好地监控和分析应用性能瓶颈。此外,...

    让hibernate输出sql语句参数配置.doc

    hibernate.default_batch_fetch_size 参数用于设置 Hibernate 关联的批量抓取默认数量。其取值建议为 4、8 或 16。 9. hibernate.default_entity_mode hibernate.default_entity_mode 参数用于指定由这个 ...

    Hibernate3的配置参数汇总

    - `hibernate.max_fetch_depth`:控制外连接抓取的深度,默认值为0表示关闭。 - `hibernate.default_batch_fetch_size`:设置默认的批量抓取大小,提高查询性能。 - `hibernate.default_entity_mode`:定义...

    hibernate抓取策略和懒加载案例

    在Java的持久化框架Hibernate中,数据访问优化是至关重要的,而抓取策略(Fetch Strategy)和懒加载(Lazy Loading)则是实现这一目标的关键技术。本文将深入探讨这两个概念,并通过具体的案例进行分析。 首先,让...

    HIBERNATE检索策略

    描述:本文深入解析了HIBERNATE的检索策略,为读者提供了一条清晰的学习路径,重点分析了HIBERNATE中的抓取策略及其应用场景,帮助开发者更有效地管理和优化数据加载过程。 在HIBERNATE框架中,检索策略主要涉及...

    hibernate 框架的基础四

    ### Hibernate框架基础四:深入理解HQL多表检索、事务及隔离级别、HQL优化与抓取策略 #### 一、HQL多表检索 **HQL (Hibernate Query Language)** 是一种面向对象的查询语言,它允许开发人员使用类名和属性名来执行...

    hibernate.cfg.xml中配置信息详解

    Hibernate.max_fetch_depth 属性用于控制 Hibernate 的外连接抓取(outer join fetch)树的最大深度。该属性的值可以是 0 到 3 之间的整数,建议的取值是 0 到 3。 hibernate.default_batch_fetch_size Hibernate....

    hibernate参数配置

    13. **hibernate.jdbc.fetch_size**: 设置JDBC抓取(fetch)大小,非零值,通过`Statement.setFetchSize()`控制。 14. **hibernate.jdbc.batch_size**: 用于启用JDBC2批量更新,建议值在5到30之间。 15. **...

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

    hibernate 配置属性参数详情(全)

    6. **hibernate.max_fetch_depth**:控制单向关联的外连接抓取深度,较高的值可能导致更多的数据库查询,建议值在0到3之间。 7. **hibernate.default_batch_fetch_size**:默认的批量抓取大小,可以提高性能,常见...

    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 参数设置一览表.doc

    1. **hibernate.jdbc.fetch_size**:设置JDBC的抓取大小,以优化结果集的处理。 2. **hibernate.jdbc.batch_size**:用于批量更新操作,提高性能。通常建议值在5到30之间。 3. **hibernate.jdbc.batch_versioned_...

    Hibernate JPA

    - `hibernate.jdbc.fetch_size` 和 `hibernate.jdbc.batch_size`: 调整JDBC抓取和批处理的数量。 - `hibernate.show_sql` 和 `hibernate.format_sql`: 显示和格式化最终执行的SQL语句。 ##### 3. Hibernate JPA ...

    Hibernate提升性能Hibernate提升性能

    此外,通过设置`hibernate.default_batch_fetch_size`,可以启用批量抓取优化,但这并不适用于所有情况。有时,根据事务的需求,可能需要使用非延迟的连接抓取,尤其是在需要高效获取关联数据的场景下,连接抓取可以...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

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

Global site tag (gtag.js) - Google Analytics