什么叫rollback?这是为了在你更新数据过程中出错,回滚至更新前的状态,在你未commit之前(或者commit成功之前)都可以进行回滚,而commit是什么意思?提交,当你确认你更新的数据是你所希望的,你可以提交,此时数据库才真正地更新数据,没有commit之前数据都是未变的.数据库事务处理的一些概念.所以一般的写法是这样:
try {
tx = session.beginTransaction();
String strDelete = "delete from User where userNumber='" +
userNumber + "'";
Query query = session.createQuery(strDelete);
query.executeUpdate();
tx.commit();
session.flush();
return true;
} catch (HibernateException e)
{
try{
tx.rollback();
return false;
}
catch(HibernateException ex){
ex.printStackTrace();
}
而我写的时候是
try{
session = HibernateSessionFactory.currentSession();
tx = session.beginTransaction();
session.update(record);
tx.commit();
}catch(HibernateException e) {
b = false;
throw e;
}finally{
if(tx!=null){
tx.rollback();
}
HibernateSessionFactory.closeSession();
}
}
这就代表了无论如何事务是要回滚的,不明白这两种写法的深层次含义,哪一个更好些,希望和大家探讨
分享到:
相关推荐
Spring Hibernate 事务处理 详细说明 Spring Hibernate 事务处理 详细说明
Spring+Hibernate 使用TransactionInterceptor声明式事务配置
Hibernate事务和并发控制 实例,想深入理解Hiberante的朋友,可以去研究一下。
hibernate事务管理机制.dochibernate事务管理机制.doc
Hibernate事务(源码) 不理解可以下载参考!!!
在Spring中配置Hibernate事务
博文链接:https://dapeng.iteye.com/blog/146431
了解Hibernate的一个很好的文档,想学Hibernate的朋友可以载来看看。
Hibernate事务和并发控制Hibernate事务和并发控制Hibernate事务和并发控制
通过实例你也许会明白hibernate事务,并发及缓存管理的运行原理,如果对这个感兴趣的可以看看
spring整合hibernate实现事务处理 1.spring整合hibernate实现事务处理-注解方式 2.spring整合hibernate实现事务处理-XML方式
Spring+Hibernate注解声明式事务实例
1.什么是Hibernate? (1) hibernate一种ORM工具,是连接 java 应用程序 和关系数据库的中间件,这是对JDBC的封装,主要负 责 java 对象的持久化. (2)Hibernate是自动根据xml配置完成对象映射关系, 并根据提供的API...
Hibernate事务处理Hibernate事务处理
spring mvc hibernate 实现事务管理 jar包管理用maven,启动服务器用jetty,里边还有memcached数据库,但是本例子没有用到。
Spring2.5+hibernate搞定分布式事务Spring2.5+hibernate搞定分Spring2.5+hibernate搞定分布式事务布式事务 第三部分
hibernate事务管理hibernate事务管理
NULL 博文链接:https://microjava.iteye.com/blog/525973
HibernateSHibernateSpring数据库的事务HibernateSpring数据库的事务HibernateSpring数据库的事务pring数据库的事务