If you are looking up the datasource using JNDI you will get the container managed data source and - depending on your configuration - container managed transactions. Therefore a commit issued by hibernate causes the exception you listed. See chapter 3.8.1 in http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html for a configuration that lets hibernate participate in container managed transactions.
cu
Stefan