2013-06-18 53 views
0

我創建了一個像我的工作論文一樣的Web應用程序。此應用程序使用的整個堆棧的Java EE 6:JPA2,EJB,JSF,RichFaces的....Vaadin JPACtainer不起作用

現在我想我的應用程序的UI從RichFaces的改變Vaadin。第一個問題始於使用JPA容器。我無法獲得entitymanager的實例。

這是我的persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" http://java.sun.com/xml/ns/persistence 
    http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 
    <persistence-unit name="primary"> 

    <jta-data-source>java:jboss/VaadinDS</jta-data-source> 

    <class>org.mypackage.entity.Utente</class> 
    <class>org.mypackage.entity.Indirizzo</class> 
    <class>org.mypackage.entity.Paese</class> 

    <properties> 
    <!-- Properties for Hibernate --> 
    <property name="hibernate.hbm2ddl.auto" value="create" /> 
    <property name="hibernate.show_sql" value="false" /> 
    </properties> 
</persistence-unit> 
</persistence> 

這是我singelton類,我想獲得的EntityManager

public class Utility { 

private static EntityManager entityManager; 

public Utility() { 
    // TODO Auto-generated constructor stub 
} 

public static EntityManager getInstance(){ 

    if(entityManager == null) 
     entityManager = JPAContainerFactory.createEntityManagerForPersistenceUnit("primary"); 

    return entityManager; 

} 
} 

的我實例,但不工作,我發現總是遵循錯誤:

[com.vaadin.server.DefaultErrorHandler] (http-localhost-127.0.0.1-8080-1) : java.lang.NullPointerException 

我在哪裏錯了?

+0

你爲什麼要使用EJB和會話Bean之外的EntityManager?也許這有助於:https://vaadin.com/book//page/jpacontainer.entityprovider.html – raffael

回答

0

你的persistence.xml文件的需要,你需要其他的2個東西vaadin的書,如果你使用的是帶有jpacontainer冬眠解釋有方言財產

另外:每reqeust模式使用一個實體管理以及在你的實體提供者上使用hibernate延遲加載委託。如果您需要更多幫助,我會不斷更新此答案。

相關問題