,我發現了以下異常,當我嘗試提交到數據庫Hibernate | JBOSS MSSQL數據源錯誤
java.sql.SQLException: You cannot commit with autocommit set!
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcComm
it(BaseWrapperManagedConnection.java:545)
at org.jboss.resource.adapter.jdbc.WrappedConnection.commit(WrappedConne
ction.java:334)
at net.sf.hibernate.id.TableGenerator.generate(TableGenerator.java:126)
at net.sf.hibernate.id.TableHiLoGenerator.generate(TableHiLoGenerator.ja
va:59)
這裏是我的JBOSS(jboss-4.0.5.GA)MSSQL-ds.xml文件: -
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>TESTDS</jndi-name>
<connection-url>jdbc:sqlserver://localhost:1433;DatabaseName=TESTDB</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<user-name>sa</user-name>
<password>password</password>
<check-valid-connection-sql>SELECT 1 FROM sysobjects</check-valid-connection-sql>
<metadata>
<type-mapping>MS SQLSERVER2000</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
這裏就是我提交操作(與交易): -
public synchronized void commitTransaction() throws TransactionException {
Transaction tx = (Transaction) localTransaction.get();
Session session = (Session) localSession.get();
try {
tx.commit();
}
catch (HibernateException e) {
log.error("Error closing the persistence when commiting.", e);
rollbackTransaction();
throw new TransactionException(e);
}
finally {
try {
session.close();
}
catch (HibernateException e) {
log.fatal("Session could not be closed !!!", e);
}
localSession.set(null);
localTransaction.set(null);
}
log.info("Commiting transaction with thread : " + Thread.currentThread());
}
UPDATE: Hibernate配置文件(喜bernate.cfg.xml)
<!-- SQLSERVER configuration -->
<property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>
<property name="connection.datasource">java:/TESTDS</property>
<property name="connection.pool_size">100</property>
<property name="statement_cache.size">200</property>
<property name="transaction.factory_class">net.sf.hibernate.transaction.JDBCTransactionFactory</property>
<property name="show_sql">false</property>
<property name="use_outer_join">true</property>
<!-- Hibernate mapping files configuration -->
..............
<!-- Hibernate mapping files configuration -->
我試圖尋遍網絡,但無法找到這個問題的任何解決方案。
謝謝。
你的hibernate.cfg.xml/persistence.xml如何看起來像? – jpkrohling 2011-04-21 13:08:14
我已經更新了問題 – Switch 2011-04-22 05:56:41