• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Bear Bibeault
  • Junilu Lacar
  • Jeanne Boyarsky
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • salvin francis
  • Frits Walraven
  • Scott Selikoff
  • Piet Souris
  • Carey Brown

autocommit setting on JBoss 3.2, Hibernate, Spring

Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

I have a webapp whose persistence layer is provided by hibernate. the sessionfactory's datasource is configured via spring and is configured in a standard oracle -ds.xml file.

in our spring configuration file for the hibernate session factory, i have this property set:

<property name="hibernateProperties">
<prop key="hibernate.connection.autocommit">false</prop>

however, when i execute session.commit() in my DAO implementation, i get the following exception. i've used this same pattern in apps deployed on tomcat and weblogic, so i'm thinking this might be a jboss 3.2.6 issue. i didnt see a bug entry in jboss's JIRA. anyone know if I'm missing a config setting somewhere?

thanks in advance,

Caused by: java.sql.SQLException: You cannot commit with autocommit set!
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcCommit(BaseWrapperManagedConnection.java:527)
at org.jboss.resource.adapter.jdbc.WrappedConnection.commit(WrappedConnection.java:473)
at com.cauldron.framework.dao.hibernate.SpringHibernateDAOSupportImpl.createObject(SpringHibernateDAOSupportImpl.java:408)
... 54 more
Ranch Hand
Posts: 85
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I had a similar problem before. The connection obtained from JBoss managed datasource has autocommit set to true by default. So, you need to set it to false manually in your code where you get the connection from the datasource.

Hope this helps.
    Bookmark Topic Watch Topic
  • New Topic