`

hibernate 的list和iterator 方法的区别

阅读更多
   hibernate的list 执行之后马上会搜索出数据库表里的所有字段,
   而iterator只是查处表的id,当你再下面 while(iterator.hasNext()){............} 时才会去再次从数据库取出数据。
   list不会应用session级别(一级缓存) 的缓存, 在一个session里面 连续做两次相同的list操作, 会去数据库读取两次。 iterator会在你取数据的时候把对象放进一级缓存里,当你在一个session里面 做第二次操作的时候,它会优先去缓存里查找,所以第二次不会发出sql语句。
分享到:
评论

相关推荐

    Hibernate教程24_Hibernate的补充_list与iterator

    本教程将重点讲解在使用Hibernate时,如何处理查询结果集合,特别是通过`list()`和`iterator()`方法进行数据迭代的操作。 【描述】"http://blog.csdn.net/e421083458/article/details/8794127" 这个链接指向的是一...

    使用hibernate封装方法

    标题“使用Hibernate封装方法”暗示我们将讨论如何在项目中通过封装Hibernate操作,以提高代码的复用性和可读性。通常,我们会在DAO(数据访问对象)层进行这些封装,将数据库的CRUD(创建、读取、更新、删除)操作...

    Hibernate持久层方法汇总

    本文将详细介绍Hibernate持久层中的一些核心方法,包括`session.load`, `session.find`, `session.iterator`, `session.save`, `session.update`, `session.saveorupdate`。 1. `session.load()`: - `load()`方法...

    jdbc和hibernate的区别

    Hibernate的`List`方法一次性加载所有数据,适合小数据量,而`Iterator`适合大数据量并按需加载,减少内存消耗。 3. **内存占用**:JDBC通常比Hibernate占用更少的内存,因为它不创建大量对象实例。 4. **适用场景**...

    hibernate难点重点笔记

    《Hibernate难点解析与...理解并灵活运用uuid、get()与load()以及iterator()和list()的区别,是每个Hibernate开发者必备的技能。通过深入学习这些难点,开发者能够更好地驾驭Hibernate,从而提升项目的稳定性和性能。

    hibernate criteria 分组 排序 关联

    Hibernate提供了`setMaxResults()`和`setFirstResult()`两个方法来帮助实现这一功能。 **示例代码**: ```java Criteria criteria = session.createCriteria(User.class); criteria.setFirstResult(51); // 设置...

    Hibernate几种获数据方法比较

    在处理大量数据查询时,`Query.iterator()`和`Query.list()`是两种常用的方法: - **`Query.iterator()`**: 此方法返回一个迭代器,适用于需要逐条处理大量数据的场景。通过迭代器,每次只加载一条数据到内存中,...

    java Hibernate ireport jsperreport 制作报表

    Java平台提供了多种工具来实现报表制作,其中iReport和JasperReport是非常流行的选择,它们可以与ORM框架Hibernate进行整合,实现动态数据源的报表生成。 1. **iReport与JasperReport** iReport是一款基于Java的...

    hibernate中的几个重要方法以及调用[参照].pdf

    本文将深入探讨Hibernate中的一些重要方法及其调用,包括get()、load()、list()、iterator()以及HQL查询的相关知识点。 1. get()与load()方法: - get()方法:当尝试获取一个对象时,get()首先会在一级缓存中查找...

    优化Hibernate性能的几点建议

    这是因为`Iterator`在每次调用`next()`方法时只会加载当前的记录,而不会一次性加载所有的结果到内存中。这种方式特别适用于需要分批处理大数据量的情况。 #### 五、合理管理实体之间的关联关系 在设计模型时,...

    hibernate_third项目源码

    **hibernate_third项目源码**是一份专用于展示Hibernate框架不同查询技术的代码实例,涵盖了query、criteria以及SQL查询等多种方法。通过深入理解和实践这些源码,开发者可以更好地掌握Hibernate在实际开发中的应用...

    hibernate 调优

    3. **Query 和 list/iterator**:list 仅利用查询缓存,而 iterator 可以利用二级缓存。iterator 在处理大量数据时更为高效,因为它可以逐条加载数据并释放内存。 #### 八、总结 Hibernate 性能调优涉及多个层面,...

    Hibernate入门文档

    Hibernate 难点解析: hibernate中uuid和native的相关总结 ...hibernate二级缓存中list和iterator的用法 Hibernate中的对象有三种状态: lock和update区别 save 和update区别 update 和saveOrUpdate区别

    struts2整合hibernate

    Struts2和Hibernate是两种非常流行的Java Web开发框架,它们分别负责表现层和持久层的管理。Struts2是一款强大的MVC(Model-View-Controller)框架,它提供了丰富的动作和拦截器,使得Web应用的控制逻辑更加清晰。而...

    HIBERNATE_QUERY

    ### HIBERNATE_QUERY知识点详解 #### 一、概述 Hibernate作为一款强大的对象关系映射...以上就是关于Hibernate查询机制的相关知识点介绍,通过这些方法和技术,开发者可以根据具体的应用需求选择最合适的查询方式。

    hibernate语句大全

    ### Hibernate语句大全 #### 一、概述 Hibernate是一个开源的对象关系映射(ORM)框架,它能够将Java对象映射到数据库表中,并管理这些对象的生命周期。本篇文章主要介绍初学者在学习Hibernate时会遇到的基础语句...

    Hibernate笔记

    for (Iterator iter = list.iterator(); iter.hasNext();) { Classes classes = (Classes) iter.next(); System.out.println("class's name=" + classes.getName()); for (Iterator iter1 = classes.getStudents...

    hibernate源码分析过程

    Hibernate 支持 JMX(Java Management Extensions)和 JCA(J2EE Connector Architecture),可以将 Hibernate 集成到 Java EE 应用服务器中。 配置 Hibernate 的配置可以通过多种方式实现,包括配置文件、可编程...

Global site tag (gtag.js) - Google Analytics