`
zhouchaofei2010
  • 浏览: 1106494 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

解决hibernate查询时,自动更新问题

 
阅读更多

对hibernate的session操作时时,默认的FlushModel时auto的,对于查询,不需要Flush。hibernate建议在session的操作前,设置 flush mode  为MANUAL 的(还有NRVER,但hibernate是deprecated的)。

 

 

For a logically "read only" session, it is reasonable to set the session's flush mode to FlushMode.MANUAL at the start of the session (in order to achieve some extra performance).

 

dao查询代码:

 

	@SuppressWarnings("unchecked")
	public List searchByHql(final String hql) {
       System.out.println("searchByHql:"+hql);
		HibernateCallback cb = new HibernateCallback() {
			public Object doInHibernate(Session session) {
				session.setFlushMode(FlushMode.MANUAL);
				Query q = session.createQuery(hql);
				return q.list();
			}
		};
		List list = (List) getHibernateTemplate().execute(cb);
		return list;
	}

 

分享到:
评论

相关推荐

    如何解决hibernate自动更新实体类的问题共5页.pd

    综上所述,解决Hibernate自动更新实体类的问题,关键在于理解和控制Hibernate的生命周期、持久化状态以及事务管理。通过调整配置、使用特定的API和理解事务隔离级别,我们可以有效地防止或控制自动更新行为,确保...

    如何解决hibernate自动更新实体类的问题共5页.pdf.zip

    1. **显式控制更新**:如果你不想让Hibernate自动更新实体,可以在修改完对象后,调用`Session.evict(entity)`方法将实体从Session缓存中移除,这样就不会触发自动更新。或者,如果不希望整个实体被更新,可以只更新...

    关于Hibernate3中文查询出错问题的解决

    以上就是解决Hibernate3中文查询出错问题的主要步骤。在实际操作中,还需要根据具体的错误信息和环境进行排查,可能需要调整的配置不止一处。记得每次修改配置后都要重新运行测试,以确认问题是否已得到解决。希望...

    解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题

    以上就是关于"解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题"的详细分析和解决方案。在实际开发中,我们需要结合具体情况进行调整,确保日期时间数据的准确无误。对于提供的文件名"org",可能指的是...

    Hibernate3.4 不自动创建索引的问题

    如果想让Hibernate自动创建或更新数据库结构,包括索引,我们需要将这个属性设置为"create"、"create-drop"或者"update"。 但是,即使设置了正确的`hibernate.hbm2ddl.auto`,依然可能出现不自动创建索引的情况。这...

    JSP+Struts+Hibernate办公自动化管理系统

    在本系统中,Hibernate负责数据库的操作,如查询、插入、更新和删除数据。通过Hibernate的实体类和映射文件,开发者可以将Java对象直接转换为数据库中的记录,反之亦然,实现数据的透明访问。 **办公自动化管理系统...

    MySQL+Hibernate下连接空闲8小时自动断开问题解决方案.pdf

    解决 MySQL+Hibernate 连接空闲8小时自动断开问题 概述: 在使用 MySQL 和 Hibernate 进行数据库持久层开发时,可能会遇到连接空闲8小时自动断开的问题。本文将讨论该问题的解决方案,并对相关的知识点进行详细...

    hibernate映射和查询

    Hibernate 是一个流行的 Java 应用程序开发框架,它提供了一个持久层解决方案,简化了数据库操作。对于初学者来说,理解 Hibernate 的映射和查询机制是至关重要的,因为它们构成了 Hibernate 核心功能的基础。 **一...

    时间戳实例 绝对好使 hibernate全自动实现时间戳

    这样,每次当这个实体对象被创建或更新时,Hibernate会自动填充这个字段的当前时间。 例如,一个简单的实体类`User`可能如下所示: ```java import javax.persistence.*; import java.util.Date; @Entity public ...

    hibernate 自动导入 sql 文件 import.sql 国际化编码的问题的解决方案

    ### Hibernate自动导入SQL文件import.sql国际化编码问题的解决方案 #### 背景介绍 在使用Hibernate框架时,经常需要在项目启动初期或者数据库更新时自动执行一些SQL脚本(如DDL脚本)来创建或更新数据库结构。这些...

    Hibernate update问题

    本篇文章将深入探讨Hibernate更新机制及其可能遇到的问题,旨在帮助开发者更好地理解和解决这些问题。 1. **基本更新操作** Hibernate通过Session接口的`update()`方法实现对象的更新。当你从数据库加载一个对象...

    Hibernate自动生成配置文件

    ### Hibernate自动生成配置文件详解 #### 一、Hibernate与自动生成配置文件的重要性 在Java开发领域,Hibernate作为一款优秀的对象关系映射(Object-Relational Mapping,简称ORM)框架,极大地简化了Java应用与...

    JSP+Struts+hibernate办公自动化管理系统

    这个系统是一个基于Web的办公自动化解决方案,它采用了经典的Java EE技术栈——JSP(JavaServer Pages)、Struts框架和Hibernate ORM(对象关系映射)工具。这样的技术组合在早期的Web开发中非常流行,用于构建企业...

    Could not roll back Hibernate transaction.doc

    然而,在使用Hibernate时,可能会遇到事务回滚失败的问题,本文将详细介绍该问题的原因和解决方法。 一、问题描述 在使用Hibernate时,可能会遇到以下错误信息: Could not roll back Hibernate transaction; ...

    hibernate的配置使用和各种查询

    Hibernate是一种开源的对象关系映射(Object-Relational Mapping,简称ORM)框架,它为Java应用提供了利用SQL数据的持久化解决方案。通过ORM技术,开发人员可以将Java对象映射到数据库表上,从而避免了大量的SQL代码...

    MySQL+Hibernate下连接空闲8小时自动断开问题解决方案.docx

    MySQL+Hibernate 连接空闲8小时自动断开问题解决方案 知识点1: Hibernate 的连接池机制 在 Hibernate 中,默认情况下 使用的是 DriverManagerConnectionProvider,这是一个简单的连接池机制。它将打开的连接缓存在...

    myeclipse配置hibernate时出错

    本文将针对“MyEclipse配置Hibernate时出错”的问题进行全面解析,旨在帮助开发者更好地理解并解决此类问题。 ### 一、MyEclipse简介 MyEclipse是一款面向JavaEE集成开发环境的软件,集成了目前几乎所有的Java工具...

    spring+hibernate包冲突问题

    在开发Java Web应用程序时,Spring和...通过以上步骤和策略,大多数Spring与Hibernate的包冲突问题都可以得到解决。在实际开发过程中,应始终关注框架的新版本和官方文档,以便获取最新的兼容性和最佳实践信息。

Global site tag (gtag.js) - Google Analytics