抓取策略:抓取关联对象。
1单端代理的批量抓取: select join 默认是select
保持默认,同fetch="select",如:
<many-to-one
name="classes" column="classesid"
fetch="select"/>
fetch="select",另外发送一条select语句抓取当前对象关联实体或集合
<hibernate-mapping>
<class
name="com.bjsxt.hibernate.Student" table="t_student">
<!--
<cache
usage="read-only"/>
-->
<id
name="id">
<generator
class="native"/>
</id>
<property
name="name"/>
<many-to-one
name="classes" column="classesid"
fetch="select"/>
</class>
</hibernate-mapping>
设置fetch="join",如:
<many-to-one
name="classes" column="classesid"
fetch="join"/>
fetch="join",hibernate会通过select语句使用外连接来加载其关联实体或集合
只发一条sql语句,此时lazy会失效
2,集合上的抓取策略:集合代理的批量抓取
保持默认,同fetch="select",如:
<set
name="students" inverse="true" cascade="all"
fetch="select">
fetch="select",另外发送一条select语句抓取当前对象关联实体或集合
<hibernate-mapping
package="com.bjsxt.hibernate">
<class
name="Classes" table="t_classes">
<id name="id">
<generator
class="native"/>
</id>
<property
name="name"/>
<set name="students" inverse="true"
cascade="all" fetch="select">
<key column="classesid"/>
<one-to-many
class="Student"/>
</set>
</class>
</hibernate-mapping>
设置fetch="join",如:
<set
name="students" inverse="true" cascade="all"
fetch="join">
fetch="join",hibernate会通过select语句使用外连接来加载其关联实体或集合
此时lazy会失效
设置fetch="subselect", 影响hql查询如:
<set name="students"
inverse="true" cascade="all"
fetch="subselect">
fetch="subselect",另外发送一条select语句抓取在前面查询到的所有实体对象的关联集合
3,hibernate抓取策略,,batch-szie在<class>上的应用
batch-size属性,可以批量加载实体类,参见:Classes.hbm.xml
<class name="Classes"
table="t_classes" batch-size="3">
分享到:
相关推荐
Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...
《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
Hibernate.jar包,Hibernate可以应用在任何使用JDBC的场合,包含 hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-...
今天我们要讨论的是Hibernate框架中的一个关键概念——抓取策略,特别是针对"many-to-one"关系的抓取策略。这篇博客将深入剖析这个主题,帮助你更好地理解和应用Hibernate。 Hibernate是Java领域中最流行的对象关系...
hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要
在本篇“我的Hibernate学习笔记(4)完”中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架,以及如何通过源码和工具进行高效开发。这篇笔记不仅包含理论知识,还提供了实际操作的指导,以帮助读者更...
在本篇《Hibernate学习笔记》中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架。Hibernate允许开发者以面向对象的方式处理数据库操作,极大地简化了数据存取的复杂性。以下是一些关键知识点: 1....
hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码
这套笔记是我学习Hibernate,进行相关技术点训练时记录下来的,其中包括技术点说明与相关事例,拿出来与大家分享。
【Java相关课程系列笔记之十四Hibernate学习笔记】 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本笔记将详细阐述Hibernate的核心概念、使用方法和特性。 一、...
hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码
【Hibernate学习笔记(1-13)】是传智播客李勇的教程,涵盖了Hibernate框架的基础到进阶内容。Hibernate是一个流行的ORM(对象关系映射)框架,它旨在解决Java面向对象编程与关系型数据库之间的模型不匹配问题,即...
### 马士兵Hibernate学习笔记知识点总结 #### 一、HelloWorld示例 - **目的**:通过简单的示例理解Hibernate的基本使用流程。 - **步骤**: - 创建Java项目`hibernate_0100_HelloWorld`。 - 建立库依赖,包括...
hibernate-jpa-2.0-api-1.0.1.Final.jar
**Hibernate学习笔记与总结** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在关系数据库上操作对象数据的便捷方式。本文将深入探讨Hibernate的核心概念、配置、实体类、映射文件、...
“Hibernate3学习笔记(一)-hibernate概述和简单实例入门” 这个标题表明了本文档将介绍的是关于Hibernate3的基本概念和初步应用。Hibernate3是Java开发中的一个流行对象关系映射(ORM)框架,它简化了数据库操作,将...