You cannot set autocommit during a managed transaction
最近遇到一个头大的问题:把ejb部署到jobss5.0,其中持久层是hibernate3.2,然后在调用ejb时,老是报异常:
java.sql.SQLException: You cannot set autocommit during a managed transaction!
hibernate.cfg.xml配置如下:
<session-factory>
<property name="hibernate.connection.datasource">java:/my_datasource</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
<property name="hibernate.show_sql">false</property>
<property name="jdbc.batch_size">50</property>
<property name="hbm2ddl.auto">update</property>
<mapping resource="xxx/xxx/xxx/xxx.hbm.xml" />
......
</session-factory>
,后来看了下hibernate的相关文档,然后设置自动提交为false,在hibernate配置文件中加上:
<property name="hibernate.connection.autocommit">false</property>
<property name="hibernate.connection.release_mode ">auto</property>,还是不管用,很是郁闷了。
再说明下:打开session的方式是sessionFactory.openSession()
求救:这是肿么回事?????????
java.sql.SQLException: You cannot set autocommit during a managed transaction!
hibernate.cfg.xml配置如下:
<session-factory>
<property name="hibernate.connection.datasource">java:/my_datasource</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
<property name="hibernate.show_sql">false</property>
<property name="jdbc.batch_size">50</property>
<property name="hbm2ddl.auto">update</property>
<mapping resource="xxx/xxx/xxx/xxx.hbm.xml" />
......
</session-factory>
,后来看了下hibernate的相关文档,然后设置自动提交为false,在hibernate配置文件中加上:
<property name="hibernate.connection.autocommit">false</property>
<property name="hibernate.connection.release_mode ">auto</property>,还是不管用,很是郁闷了。
再说明下:打开session的方式是sessionFactory.openSession()
求救:这是肿么回事?????????
...全文
相关推荐
数据库原理与应用:第11章 事务和游标的创建和使用.ppt
Autocommit模式是SQL Server的缺省事务管理模式,当使用SET AUTOCOMMIT OFF开启事务支持时,所有insert、delete或update操作列表都会被存储在内存中,因此,
浅析Mysql 数据回滚错误的解决方法
- SET AUTOCOMMIT=0;可以禁止自动提交模式,之后的SQL语句将作为一个事务处理,直到执行了COMMIT或ROLLBACK语句。
mysql 锁表锁行语句分享(MySQL事务处理)
例如:```sqlSTART TRANSACTION;SELECT @A:=SUM(salary) FROM table1 WHERE type=1;UPDATE table2 SET summary=
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
```python from django.db import transaction @transaction.autocommit def viewfunc(request): # 代码逻辑 ``
mysql 中关于事务的处理
可以通过以下方式控制自动提交行为:```sqlSET AUTOCOMMIT = 0; -- 关闭自动提交SET AUTOCOMMIT = 1; -- 开启自动提交```当设置`AUTOCOMMIT =


