在 JBoss/WildFly 中注入 EntityManager
Injecting EntityManager in JBoss/WildFly
我正在学习 JPA、EJB 和 JBoss/WildFly。
我需要在我的应用程序中注入一个 EntityManager
。我正在尝试通过以下方式进行:
@Stateless
@LocalBean
public class ProductsService implements IProductsService {
@PersistenceContext(unitName = "myUnit")
EntityManager entityManager;
//....
}
我的 .war
存档的 META-INF
目录中有 persistence.xml
文件:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
<persistence-unit name="myUnit">
<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
JNDI 数据源 (java:jboss/datasources/ExampleDS
) 是在干净的 WildFly 安装中提供的默认数据源。
当我将我的应用程序部署到 WildFly 时,出现以下错误:
JBAS011440: Can't find a persistence unit named myUnit in deployment "my-web-app.war".
我做错了什么?
persistence.xml
始终位于 {root-of-persistence-unit}/META-INF/ directory
。在 war 文件中,您必须将 persistence.xml
放在 WEB-INF/classes/META-INF
中。
例如:
WEB-INF/classes/META-INF/persistence.xml
WEB-INF/web.xml
查看更多:Persistence Units
我正在学习 JPA、EJB 和 JBoss/WildFly。
我需要在我的应用程序中注入一个 EntityManager
。我正在尝试通过以下方式进行:
@Stateless
@LocalBean
public class ProductsService implements IProductsService {
@PersistenceContext(unitName = "myUnit")
EntityManager entityManager;
//....
}
我的 .war
存档的 META-INF
目录中有 persistence.xml
文件:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
<persistence-unit name="myUnit">
<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
JNDI 数据源 (java:jboss/datasources/ExampleDS
) 是在干净的 WildFly 安装中提供的默认数据源。
当我将我的应用程序部署到 WildFly 时,出现以下错误:
JBAS011440: Can't find a persistence unit named myUnit in deployment "my-web-app.war".
我做错了什么?
persistence.xml
始终位于 {root-of-persistence-unit}/META-INF/ directory
。在 war 文件中,您必须将 persistence.xml
放在 WEB-INF/classes/META-INF
中。
例如:
WEB-INF/classes/META-INF/persistence.xml
WEB-INF/web.xml
查看更多:Persistence Units