I am trying to create an EntityManagerFactory in a Generic DAO object, but as 
soon an the Child Object is created this following error is thrown.

note: I manually added ehcache-1.2.1RC.jar, since the EJB3.0 setup is lacking 
an ehcache jar file)

(I'm using JBoss 4.0.4GA EJB3.0 setup with MySQL 4.1)


  | java.sql.SQLException: You cannot set autocommit during a managed 
transaction!
  |         at 
org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.setJdbcAutoCommit(BaseWrapperManagedConnection.java:482)
  |         at 
org.jboss.resource.adapter.jdbc.WrappedConnection.setAutoCommit(WrappedConnection.java:322)
  |         at 
org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:36)
  |         at 
org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:178)
  |         at 
org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:131)
  |         at 
org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:308)
  |         at 
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1213)
  |         at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:631)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:760)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createFactory(Ejb3Configuration.java:151)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:205)
  |         at 
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:114)
  |         at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)
  |         at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:27)
  |         at 
com.twopro.test.pluginsecurity.integration.dao.ejb.EJBDAO.<clinit>(EJBDAO.java:30)
  |         at 
com.twopro.test.pluginsecurity.integration.dao.factory.EJBSecurityDAOFactory.getPermissionDAO(EJBSecurityDAOFactory.java:82)
  |         at 
com.twopro.test.pluginsecurity.business.as.GenericSecurityAS.getPermissionDAO(GenericSecurityAS.java:70)
  |         at 
com.twopro.test.pluginsecurity.business.as.AccessAS.createPermission(AccessAS.java:24)
  |         at 
com.twopro.test.pluginsecurity.business.facade.SecuritySessionFacade.createPermission(SecuritySessionFacade.java:44)
  |         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |         at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
  |         at 
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
  |         at 
org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  |         at 
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:225)
  |         at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
  |         at 
org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
  |         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
  |         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)

Generic DAO:

  | public abstract class 
  | EJBDAO<T>
  | implements DAO<T>
  | {
  |     public T findByID (Long anID)
  |     {
  |          //dummy, not yet in use
  |          return null;
  |     }
  |     
  |     private static EntityManagerFactory theFactory = 
  |         Persistence.createEntityManagerFactory("security");
  | 
  | }

Child class is an basic empty POJO at the moment.

persistence.xml:

  | <persistence>
  |     <persistence-unit name="security">
  |             <provider>org.hibernate.ejb.HibernatePersistence</provider>     
  |             <jta-data-source>java:/MySQLDS</jta-data-source>                
  |             <properties>
  |                     <property name="hibernate.hbm2ddl.auto" 
value="create-drop"/>
  |                     <property name="hibernate.dialect" 
value="org.hibernate.dialect.MySQLDialect" />
  |             </properties>
  |     </persistence-unit>
  | </persistence>

Any thoughts anyone?


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3950399#3950399

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3950399


_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to