`

Spring,Hibernate,ResultSet和事务

阅读更多
今天研究了一天的关于Spring,Hibernate,ResultSet和事务, 最后发现只有直接返回结果集的地方,事务管起来都是麻烦不断。 所以任何时候直接返回结果集都是一个坏主意。
如果想利用Hibernate直接执行Sql进行带事务的更新/删除操作,可以用下面的方法,当然方法在使用的过程中,需要根据自己的实际情况稍作改动。
public int executeUpdate(Class<?> entityClass, final String sql) {
		int reValue = 0;
		HibernateTemplate hibernateTemplate = new HibernateTemplate(
				getSessionFactory(entityClass));
		reValue = hibernateTemplate.execute(new HibernateCallback<Integer>() {
			@Override
			public Integer doInHibernate(Session session)
					throws HibernateException, SQLException {
				SQLQuery q = session.createSQLQuery(sql);
				return q.executeUpdate();
			}
		});

		return reValue;
	}


如果想利用Hibernate返回一个结果集而且带着事务管理,至少我还没找到一个合理的解决方案。当然如果你说利用setAutoCommit(false), 然后自己手动控制,至少对Sybase这样不行。
分享到:
评论

相关推荐

    HIBERNATE4开发文档,HIBERNATE4的变化

    总结来说,从Hibernate3迁移到Hibernate4,开发者需要注意与Spring的集成方式、缓存配置、事务管理策略以及对session的获取和使用等方面的调整。这些变化旨在提高效率,简化代码,并利用Hibernate4提供的新功能和...

    Spring对DAO的支持.doc

    总结来说,Spring对DAO的支持显著提高了代码的可读性和可维护性,降低了系统组件间的耦合,并通过提供对JDBC和Hibernate的抽象,使得数据访问变得更加简单和安全。这种支持鼓励开发者采用面向接口的编程风格,有利于...

    Hibernate3使用经验

    ### Hibernate3 使用经验 #### 一、在 Hibernate 中配置参数 ...这些内容涵盖了如何在 Hibernate 中配置参数、执行 SQL 语句、获取 Session 以及如何在 DAO 层进行事务处理等方面的知识点。希望对读者有所帮助。

    day4-Spring JdbcTemplate & 声明式事务.md

    ### Spring JdbcTemplate与声明式事务知识点详解 #### JdbcTemplate基本使用概述 JdbcTemplate是Spring框架提供的用于简化JDBC API操作的对象。它通过提供一个高级抽象层来减少编码工作量,并帮助开发者避免处理...

    spring 整合JDBC 原创代码

    在Java开发中,Spring框架是不可或缺的一部分,它提供了一种优雅的方式来管理应用程序的组件和依赖关系。Spring JDBC(Java Database Connectivity)模块则是Spring框架中用于简化数据库操作的重要部分。本篇将深入...

    spring-jdbc-2.5.6.jar

    无论是在SSH(Struts、Spring、Hibernate)框架中还是独立使用,Spring JDBC都能极大地提升开发效率和代码质量。通过深入理解和熟练运用这些知识点,可以更好地驾驭Spring框架,提升项目开发的效率和稳定性。

    Spring中文帮助文档

    9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. &lt;tx:advice/&gt; 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知...

    Spring API

    2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件...

    spring开发技术手册

    - **数据绑定和验证**:Spring MVC提供了强大的数据绑定和验证机制,可以帮助开发人员更轻松地处理用户输入。 综上所述,“Spring开发技术手册”不仅涵盖了Spring框架的基础知识,还深入介绍了其实现原理及应用场景...

    Spring JdbcTemplate查询实例

    首先,Spring JdbcTemplate通过提供一系列的模板方法,如`queryForList`、`queryForObject`、`execute`等,使得执行SQL查询变得更加简洁和安全。这些方法能够处理结果集、自动转换数据类型,并且在发生异常时提供更...

    Spring_JDBC模板笔记

    在Java开发中,Spring框架提供了丰富的工具和库来处理数据库操作,其中JDBC模板(JdbcTemplate)是Spring对JDBC的一种封装,它极大地简化了数据库访问的复杂性,使得开发者可以更加专注于业务逻辑,而无需过多地关注...

    spring2.5-中文参考手册.pdf

    - **Hibernate集成**:Spring框架与Hibernate框架的集成非常紧密,能够极大地提高开发效率。 - **示例**:使用Spring JDBC模板执行查询: ```java List&lt;User&gt; users = jdbcTemplate.query("SELECT * FROM users", ...

    spring famework 操作数据库使用jdbc示例代码

    它通过异常处理和事务管理提供了健壮性和安全性,使得在Spring应用中使用JDBC变得更加简单和高效。 总之,Spring Framework的JDBC模块通过 `JdbcTemplate` 提供了一种方便、安全的方式来处理数据库操作,减少了手动...

    J2EE企业级项目开发-1期 07 Spring 使用技巧.doc

    总结,Spring在企业级项目中的应用主要体现在简化数据库操作、管理事务和提供组件间的松耦合。在SSH集成环境中,正确地使用SessionFactory和JdbcTemplate,以及及时释放数据库资源,是保证系统稳定性和性能的关键。...

    J2EE框架学习笔记

    本篇学习笔记将聚焦于四个核心的J2EE框架:JDBC、Hibernate、Struts和Spring,这些框架在现代企业应用开发中扮演着重要角色。 **JDBC(Java Database Connectivity)**是Java语言访问数据库的标准API,它是连接Java...

    springbootjdbc

    此外,Spring Boot还支持JPA(Java Persistence API)和ORM(对象关系映射)框架,如Hibernate,提供更高级别的对象模型和CRUD操作。不过,如果你只需要基本的SQL查询和更新,JDBC和Spring Boot的集成是一个简单且...

    java的数据库程序

    Java提供了多种方式来连接和操作数据库,如JDBC(Java Database Connectivity)API,ORM(Object-Relational Mapping)框架如Hibernate和MyBatis等。 1. JDBC API: JDBC是Java标准库中的核心接口,允许程序员以统一...

    增删改查系列四之一无框架

    Spring提供依赖注入和事务管理,进一步提升代码的可维护性和灵活性: 1. Spring配置:创建`applicationContext.xml`,定义Bean,注入依赖。 2. 事务管理:使用Spring的`PlatformTransactionManager`,在Service层...

    ★java及j2ee面试题集(非常经典)

    - JDBC:能编写SQL语句,理解连接池管理,熟练使用PreparedStatement和ResultSet。 - JNDI(Java Naming and Directory Interface):用于查找和管理资源,如数据库连接。 - EJB(Enterprise JavaBeans):了解...

    JDBC基础和SSH编码.rar

    在实际开发中,SSH框架结合使用,Spring作为核心容器,管理Struts和Hibernate的实例。Struts处理HTTP请求,调用Spring中的业务服务,而Hibernate负责数据持久化。SSH的整合可以极大地提高开发效率,降低代码的耦合度...

Global site tag (gtag.js) - Google Analytics