我做了很小的休息以学习休息。没有使用EntityManager它运行正常。但是当我使用EntityManager时,它会给NPE。我正在使用jboss-eap-6.2,EJB 3,JPA。谷歌后,错误发现EntityManager为空。如何解决这个问题。
@Stateless
@Path("/dili")
public class TestResource {
@PersistenceContext(unitName = "AjaxrestPU")
private EntityManager em;
@GET
@Path("{key}")
@Produces("application/xml")
public Customer getMsg(@PathParam("key") int key) {
Customer cu = em.find(Customer.class, 1);
System.out.println("key " + key);
return cu;
}
//return "okkkk";
}
persistance.xml
<persistence-unit name="AjaxrestPU" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/tutes</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
</properties>
</persistence-unit>
老板错误
13:09:38,862 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default
host].[/Ajaxrest].[org.test.ApplicationConfig]] (http-/127.0.0.1:8080-2) JBWEB0
0236: Servlet.service() for servlet org.test.ApplicationConfig threw exception:
org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationExcep
ion(SynchronousDispatcher.java:365) [resteasy-jaxrs-2.3.7.Final-redhat-2.jar:2.
.7.Final-redhat-2]
答案 0 :(得分:2)
经过2小时的搜索找到答案。 在web-inf中创建空beans.xml。那一切。 https://netbeans.org/bugzilla/show_bug.cgi?id=231595