Hibernate 的数据库查询机制。我们从查询结果中取出数据的时候,
用的最多的是两个方法:Query.list();Query.iterate();
对于list方法而言,实际上Hibernate是通过一条Select SQL获取所有的记录。并将其读出,填入到POJO中返回。
而iterate 方法,则是首先通过一条Select SQL 获取所有符合查询条件的记录的id,再对这个id 集合进行循环操作,通过单独的Select SQL 取出每个id 所对应的记录,之后填入POJO中返回。
也就是说,对于list 操作,需要一条SQL 完成。而对于iterate 操作,需要n+1条SQL。
看上去iterate方法似乎有些多余,但在不同的情况下确依然有其独特的功效,如对海量数据的查询,如果用list方法将结果集一次取出,内存的开销可能无法承受。另一方面,对于我们现在的Cache机制而言,list方法将不会从Cache中读取数据,它总是一次性从数据库中直接读出所有符合条件的记录。而iterate 方法因为每次根据id获取数据,这样的实现机制也就为从Cache读取数据提供了可能,hibernate首先会根据这个id 在本地Cache 内寻找对应的数据,如果没找到,再去数据库中检索。
转载自:http://blog.csdn.net/smlweb/archive/2005/03/19/323783.aspx
分享到:
相关推荐
总结,Hibernate 数据库访问接口设计涵盖了从基础的数据库连接、对象持久化到高级的查询语言、缓存机制等多个方面。熟练掌握这些接口和概念,能极大地提升Java开发者的数据库操作能力。在实际项目中,应根据需求选择...
本篇将深入探讨Hibernate中的分页查询功能以及它如何处理数据库连接,帮助你更有效地管理大数据量的查询操作。 首先,我们来看一下什么是分页查询。在Web应用中,当用户需要浏览大量数据时,一次性加载所有数据不仅...
**hibernate数据库相关操作步骤** Hibernate是一款强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用中操作数据库的简便方法。通过使用Hibernate,开发人员可以避免直接编写SQL语句,而是通过面向...
2. **多数据库支持**:为了适应不同的数据库,如MySQL、Oracle、SQL Server等,需要使用Hibernate的`Dialect`机制,动态选择合适的数据库方言。通过自定义`Dialect`类,可以实现特定数据库的特性,如存储过程、函数...
标题"Hibernate数据库操作实例.zip"表明这是一个关于使用Hibernate框架进行数据库操作的实际案例。Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发人员使用面向对象的方式来处理数据库交互,而无需...
【标题】:“Hibernate数据库连接”深入解析 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它极大地简化了与数据库的交互。本篇文章将深入探讨Hibernate的数据库连接机制,帮助开发者理解如何利用...
【精通Hibernate数据库编程】是针对初学者设计的学习资源,旨在帮助快速掌握Hibernate这一强大的Java对象关系映射(ORM)框架。Hibernate是Java开发中的一个重要工具,它简化了数据库操作,使得开发者可以更专注于...
一、Hibernate查询机制 Hibernate提供了三种主要的查询方式:SQL、HQL(Hibernate Query Language)和QBC(Query by Criteria)。 1. SQL查询: Hibernate支持直接执行SQL语句,这使得开发者可以充分利用数据库的...
Hibernate提供了缓存机制,分为一级缓存(Session Level Cache)和二级缓存。一级缓存是每个Session内部的,自动管理的对象状态,能提高性能,减少对数据库的访问。 1.2.4 简介事务管理(基于JDBC) 在Hibernate中...
这个“hibernate+struts实现数据库查询的例子”是针对初学者的一个实践教程,旨在展示如何整合这两个框架来实现数据库的查询操作。下面将详细介绍这两个框架及其整合使用的方式。 `Hibernate`是Java平台上的一款...
《hibernate数据库映射例子.zip》这个压缩包包含了几个基于Hibernate框架的数据库映射示例,旨在帮助初学者理解并掌握如何在实际项目中应用Hibernate进行数据持久化操作。Hibernate是一个强大的Java对象关系映射...
- **懒加载**:合理利用懒加载机制,按需加载关联对象,减少不必要的数据库查询操作。 - **批处理**:开启批处理功能,减少数据库交互次数,提高写操作的效率。 #### 六、总结 通过上述步骤,我们可以较为轻松地在 ...
Hibernate缓存机制是提高应用程序性能的关键特性,尤其是在频繁与数据库交互的应用中。缓存通过减少对物理数据库的直接访问次数,显著提升了数据读取和写入的速度。这主要是因为从缓存中读取数据比从数据库中获取更...
**标题解析:**“Hibernate part 14:查询及数据库并发事务” 这个标题指出我们要讨论的是Hibernate框架在处理查询和数据库并发事务方面的内容。Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发者...
Hibernate是一个开源的ORM框架,它允许开发者使用面向对象的方式来操作数据库,通过映射机制将Java对象与数据库表进行对应,从而避免了繁琐的SQL语句编写。 1.2 动态数据库需求 在实际开发中,我们可能需要根据用户...
在Java世界中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层数据访问的细节。本训练主要关注在使用Hibernate时如何处理与各种数据库字段类型的映射,这...
在J2EE应用程序开发中,...总结来说,"j2ee hibernate数据库的增删改查"涵盖了从环境配置、实体类定义到使用Hibernate进行CRUD操作的全过程。通过学习和实践,开发者可以有效地整合J2EE与数据库,实现高效的数据管理。
综上所述,使用Hibernate框架操作Oracle数据库涉及到了多个方面的知识,包括Hibernate的核心概念、Oracle JDBC驱动的使用、数据库配置、实体映射、持久化操作、查询方式以及事务管理等。理解并掌握这些知识点,能够...
**基于Hibernate的简单数据库实现** Hibernate是一个开源的对象关系映射(ORM)框架...在实际项目中,可以根据需求选择合适的方式进行数据库操作,同时利用Hibernate的高级特性,如缓存、查询优化等,来提升应用性能。