站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题高手解答!有关hibernate auto commit mode 的问题

高手解答!有关hibernate auto commit mode 的问题

摘要: 高手解答!有关hibernate auto commit mode 的问题


我用了hibernate 的JDBC事务,在hibernate.cfg.xml的相关配置如下:

org.hibernate.transaction.JDBCTransactionFactory


Transaction tx = session.beginTransaction();

tx.commit();//有问题的语句
为什么去掉改语句还能更新数据库呢?每次开启session难道不是自动取消“自动提交模式”吗?


其实update或者save进行的操作已经提交,再事务执行中如果有错误就进行回滚,如果没有错误,怎进行commit提交事务。


hibernate 的JDBC事务难道不是每次打开session后取消auto commit mode 吗?


路过,友情up...


大虾们请指点一下!


什么问题


我不加“tx.commit()”,也能更新数据库,按理我用了hibernate 的JDBC事务必须加了这句话才能更新数据库(用的Oracle9)。


jdbc事务是在session打开后,把自动提交属性关闭(AutoCommit=false),除非是非事务性数据库,对于oracle9的不大了解,就我所知,mysql的isam型就是例子之一


System.out.(session.getFlushMode()); //打印出来看看

session.setFlushMode(FlushMode.COMMIT); 改成这个试试





↑返回目录
前一篇: 参数找方法是怎么实现的呢?
后一篇: 有人能给出“并发”的标准定义吗?