JpaContainer Impossible to instanciate EntityManager

Hello,

I’m new to vaadin and I try to follow
this tutorial (http://vaadin.com/download/jpacontainer-tutorial/)
about adding jpa to the addressbook tutorial application.

I encounter two errors; the first is with the initialisation inside a static bloc that run into a ClassDefNotFoundException :


public class JpaAddressbookUI extends UI {

    public static final String PERSISTENCE_UNIT = "addressbook";

    /*static {
        DemoDataGenerator.create();
    }*/

    @Override
    protected void init(VaadinRequest request) {
        setContent(new AddressBookMainView());
    }
}

So I comment these lines and try to continu but now it seams the the entityManager cannot be instanciate. It is needed for the JpaContainer.


public class HierarchicalDepartmentContainer extends JPAContainer<Department> {

    public HierarchicalDepartmentContainer() {
        super(Department.class);
        setEntityProvider(new CachingLocalEntityProvider<Department>(
                Department.class,
                JPAContainerFactory
                        .createEntityManagerForPersistenceUnit(JpaAddressbookUI.PERSISTENCE_UNIT)));
        setParentProperty("parent");
    }
......

15:20:09,371 SEVERE [com.vaadin.server.DefaultErrorHandler]
 (http--127.0.0.1-8080-2) : java.lang.NullPointerException
	at org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.getStatus(JtaStatusHelper.java:73) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]

	at org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.isActive(JtaStatusHelper.java:115) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]

	at org.hibernate.engine.transaction.internal.jta.CMTTransaction.join(CMTTransaction.java:149) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]

	at org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:1207) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]

	at org.hibernate.ejb.AbstractEntityManagerImpl.postInit(AbstractEntityManagerImpl.java:176) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]

	at org.hibernate.ejb.EntityManagerImpl.<init>(EntityManagerImpl.java:89) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]

	at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:125) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]

	at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:120) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]

	at com.vaadin.addon.jpacontainer.JPAContainerFactory.createEntityManagerForPersistenceUnit(JPAContainerFactory.java:124) [jpacontainer-addon-3.0.0-20130221.074153-1.jar:3.0.0-SNAPSHOT]

	at com.vaadin.demo.jpaaddressbook.HierarchicalDepartmentContainer.<init>(HierarchicalDepartmentContainer.java:30) [classes:]

	at com.vaadin.demo.jpaaddressbook.AddressBookMainView.<init>(AddressBookMainView.java:66) [classes:]

	at com.vaadin.demo.jpaaddressbook.JpaAddressbookUI.init(JpaAddressbookUI.java:31) [classes:]

	at com.vaadin.ui.UI.doInit(UI.java:607) [vaadin-server-7.1.1.jar:7.1.1]

	at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:223) [vaadin-server-7.1.1.jar:7.1.1]

	at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:73) [vaadin-server-7.1.1.jar:7.1.1]

	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37) [vaadin-server-7.1.1.jar:7.1.1]

	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1352) [vaadin-server-7.1.1.jar:7.1.1]

	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238) [vaadin-server-7.1.1.jar:7.1.1]

	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]

	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]

	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]

	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]

	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]

	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]

	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]

	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]

	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]

	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]

	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]

	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]

	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]

Perhaps someone has already try this tuto and can help?

Thank you