`
xly_971223
  • 浏览: 1284025 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate iterate方法的困惑

    博客分类:
  • java
阅读更多
iterate是一个读操作 应该启用只读事务,但是在实际应用中使用只读事务会出错
org.hibernate.exception.GenericJDBCException: could not get next iterator result


事务配置
@Transactional(readOnly=true) //只读事务会报错
	public Iterator<SiteDynamic> friendDynamic(Integer userId, int maxResults){
		return siteDynamicDao.findFriendDynamic(userId, maxResults);
	}


去掉readOnly还是不行
@Transactional //还出错
	public Iterator<SiteDynamic> friendDynamic(Integer userId, int maxResults){
		return siteDynamicDao.findFriendDynamic(userId, maxResults);
	}


完全去掉ok了
 //ok
	public Iterator<SiteDynamic> friendDynamic(Integer userId, int maxResults){
		return siteDynamicDao.findFriendDynamic(userId, maxResults);
	}


不知道spring怎么倒持的

分享到:
评论

相关推荐

    day37 04-Hibernate二级缓存:list和iterate方法比较

    今天我们将探讨的是Hibernate的二级缓存,特别是`list`和`iterate`方法的区别,这对于优化数据库访问性能至关重要。 一级缓存是Hibernate内置的,它是Session级别的缓存,自动管理实体对象的生命周期。然而,一级...

    Hibernate方法总结

    总的来说,HibernateTemplate提供了一组强大的方法来简化Hibernate的日常操作,涵盖了从简单的数据存取到复杂的数据库操作,极大地提升了开发效率。在实际应用中,根据数据量、性能需求以及业务逻辑,选择合适的方法...

    Hibernate教程24_Hibernate的补充_list与iterator

    提供的源码`s2sh_relation23_list_iterate`可能包含了演示如何使用Hibernate进行查询和遍历结果的实例。通过阅读和运行这些代码,你可以深入理解`list()`和`iterator()`在实际项目中的应用。 总之,理解和掌握`...

    hibernate2 升级为hibernate3的需要注意的事项

    计算记录总数时,将 `session.iterate(hql).next()` 替换为 `session.createQuery(hql).iterate().next()`。这种方式更符合 Hibernate3 的查询模式。 7. **.hbm 文件 DTD 替换** 更新 `.hbm` 文件中的 DTD 声明...

    ibatis中iterate的例子

    当调用这个方法时,iBatis会自动生成如下SQL: ```sql SELECT * FROM users WHERE id IN (1, 2, 3, ...) ``` 注意,`#{ids[index]}`中的`index`是可选的,如果省略,则默认使用集合中的元素。如果需要访问集合中的...

    struts 标签 logic:iterate使用 logic:iterate

    在`struts`的标签库中,`logic:iterate`是一个非常重要的标签,用于遍历集合对象,如`List`、`Map`或数组,并对每个元素执行循环操作。 `logic:iterate`标签的主要属性包括: 1. `id`: 用于给循环中的当前元素创建...

    Hibernate性能优化策略.

    在这个例子中,首次调用 `iterate` 方法时会向数据库发送 SQL 查询以获取 ID,但在后续的调用中,由于一级缓存的存在,Hibernate 会直接从缓存中获取实体对象,而不再发送 SQL 查询。 总结起来,一级缓存是 ...

    hibernate操作数据库笔记

    //该方法将到classpath下解析hibernate.cfg.xml中的配置,如果不用Hibernate默认的配置文件名和路径,可在该方法中指定Hibernate配置文件的名称和路径 2.用Configuration对象获取SessionFactory和Session对象:...

    ibatis标签

    标题中的“ibatis&lt;iterate&gt;标签”指的是在iBATIS框架中用于动态SQL的一个关键功能。iBATIS是一个优秀的持久层框架,它允许将SQL语句直接嵌入到Java代码中,简化了数据库操作。而`&lt;iterate&gt;`标签是iBATIS提供的一个...

    hibernate 二级缓存详解

    Hibernate 二级缓存是针对SessionFactory级别的全局缓存,与一级缓存(Session级别)不同,一级缓存只在单个Session生命周期内有效。二级缓存则允许不同Session之间共享数据,提高了数据访问效率,减少了对数据库的...

    logic:iterate 是什么,怎么用

    ### logic:iterate 标签详解 #### 一、概述 `logic:iterate` 是 Struts 标签库中的一个重要组成部分,主要用于在 JSP 页面中循环遍历集合对象(如 List、Array 或 Map 等)。它能够有效地帮助开发者在前端展示动态...

    马士兵hibernate学习笔记(原版)

    - 区别使用`list()`与`iterate()`方法遍历查询结果集。 - 理解一级缓存、二级缓存与查询缓存的区别及使用场景。 - 事务并发处理的最佳实践。 以上知识点覆盖了从入门到进阶的各个方面,为学习Hibernate提供了...

    struts+hibernate查询所有记录

    ### Struts+Hibernate查询所有记录 #### 一、概述 在Java Web开发中,Struts与Hibernate是非常流行的框架组合,用于构建复杂的企业级应用。本文将详细介绍如何利用Struts和Hibernate来实现对Oracle数据库中所有...

    struts-logic iterate标签学习指南

    Struts-Logic Iterate标签是Apache Struts框架中的一个重要组件,用于在JSP页面中迭代集合对象,如数组、列表或Map。这个标签提供了一种简洁的方式来遍历数据,并且可以与Struts的其他标签(如`bean:write`)配合...

    Hibernate核心接口

    Query 对象提供了许多方法来查询持久化对象,例如 list、iterate 等。Query 对象可以根据不同的条件来查询持久化对象。 Hibernate 的核心接口分别是 Configuration、SessionFactory、Session、Transaction 和 Query...

    hibernate 简单CRUD操作

    - `list()`、`uniqueResult()`、`iterate()`等方法处理查询结果。 3. **更新(Update)** - 修改对象的属性,然后调用`Session`的`update()`方法将对象的状态同步到数据库。 - 或者,先`load()`或`get()`对象,...

    jsp脚本和标签:实现循环和分支逻辑

    jsp脚本和&lt;logic:iterate&gt;标签:实现循环和分支逻辑 jsp脚本和&lt;logic:iterate&gt;标签:实现循环和分支逻辑 jsp脚本和&lt;logic:iterate&gt;标签:实现循环和分支逻辑

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     17.1.10 按主键逐个处理查询结果(iterate()方法)  17.1.11 可滚动的结果集  17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中...

    Hibernate中的实体状态及转换

    **临时状态(Transient) -&gt; 持久化状态(Persistent)**:通过调用Session的`get()`, `load()`, `find()`, `iterate()`等方法,可以直接将新创建的对象绑定到数据库中的记录,从而使其进入持久化状态。 **游离状态...

Global site tag (gtag.js) - Google Analytics