java - 为什么Tomcat8环境中EntityManager不通过@PersistenceContext注入(inject)?

标签 java tomcat servlets jpa

我有一些服务可以将对象保存到上下文中,并在运行时面对空的EntityManager

@Stateless
public class PointServies {

@PersistenceContext(name="pointProvider",type = PersistenceContextType.EXTENDED)
private EntityManager em;

public void addMovie(Point point) throws Exception {
    em.persist(point); // em is null here.
}
}

这是我的 persistence.xml

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence

http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"

version="2.1">

<persistence-unit name="pointProvider">

    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

    <class>model.Point</class>

    <properties>
        <!-- Configuring JDBC properties -->
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/testdb" />
        <property name="javax.persistence.jdbc.user" value="root" />
        <property name="javax.persistence.jdbc.password" value="admin" />
        <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />

        <!-- Hibernate properties -->
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
        <property name="hibernate.hbm2ddl.auto" value="update" />

        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
    </properties>
</persistence-unit>

看起来PersistenceContext找不到我的xml...... persistence.xml 存在于“src/META-INF/persistence.xml”中 所有其他来源都位于“src/model/Point”

我尝试在 Tomcat 8 Web 容器上运行此项目。

最佳答案

Tomcat默认不支持EJB,我推荐你add the OpenEJB webapp to Tomcat ,或者使用全栈应用服务器,如 GlassFishWebLogic Server .

关于java - 为什么Tomcat8环境中EntityManager不通过@PersistenceContext注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31517291/

相关文章:

java - 文件下载后如何返回结果页面?

java - Offset值会处理Java中的夏令时时区吗?

eclipse - 在 tomcat 上运行的 Eclipse maven 应用程序中逐步调试 Web 应用程序代码

java - 用于静态 html 文件和默认路径的 Spring Dispatcher servlet

java - 如何在成功验证后使用 Microsoft OAuth 获取用户信息

java.io.NotSerializedException : src. 项目 : How to get rid of having same repeated results to table?

java - Android 登录按钮停止工作

php - 无法在Tomcat下运行PHP脚本

apache - 使用 mod_jk 在 Apache 和 Tomcat 之间映射 URL

java - 如何保持 executorService 运行?