今天研究了一天的关于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这样不行。
分享到:
相关推荐
本资源讲解了Hibernate操作数据库的方法,可以用来快速入门。
jsp 三种查询分页 resultset,hibernate ,存储过程jsp 三种查询分页 resultset,hibernate ,存储过程jsp 三种查询分页 resultset,hibernate ,存储过程jsp 三种查询分页 resultset,hibernate ,存储过程
弹簧结果集休息服务目标是为任何 SQL 创建一个休息服务。 将 jdbc 结果集转换为 JSON 响应,而不使用 POJO 或 ... 在 Spring 中为这个序列化器配置 ObjectMapper 的帮助下,现在任何结果集都可以作为 Rest Json 服务。
ResultSet的用法
ResultSet 转为listmap
java数据库连接ResultSet
ResultSet直接在JTable显示
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知...
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中自动搜索组件...
这是一个用来教你如何使用ResultSet 获取数据对象的文档,非常使用
获得结果集的字段名称,ResultSet的属性要调用ResultSetMetaData的方法
JAVA 版本ResultSet 转换为JAVABEAN的工具类
但它仍不支持逆向映射 (REF CURSOR->ResultSet),因此当前版本的数据库仍然不支持 IN 和 IN OUT 参数。 在本方法指南中,我们拥有两个 Java 存储过程。Java 存储过程 getEmployees() 将 SCOTT 模式中 EMP 表的所有列...
poi根据ResultSet到处Excle源码,包含项目所需jar包,可以直接运行
resultset 变成 XML 格式输出
JDBC通信原理 JDBC驱动类型 JDBC构成 JDBC程序5步走 滚动的结果集 可更新的结果集 SQL数据类型对应的Java类型 事务及批量处理 行集、连接池、LDAP
ResultSet转List
javaResultSet常用方法.pdf
ResultSet转化为json,json转化为List,轻松搞定
附件中就是p6spy改造去掉resultset和添加每日归档的jar。 方法:打开eclipse,导入-eclipse,进行自己的修改(已改完) 将src复制到-src下面,运行ant命令即可在dist生成p6spy.jar文件 参照sp6.properties进行修改...