java - 使用 Java SE 的 JPA : javax. persistence.PersistenceException:没有 EntityManager 的持久性提供程序

标签 java jpa persistence eclipselink

执行 Java SE JPA 独立应用程序会引发异常:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named test

我发现了几个类似的帖子,但我认为它们都不适用于我的 EclipseLink、Java SE 案例,并且没有打包到可部署文件中,因此没有 WEB-INF 等。

/src/META-INF/persistence.xml 是:

<persistence>
    <persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>SomeEntity</class>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/somedbname"/>
            <property name="javax.persistence.jdbc.user" value="foo"/>
            <property name="javax.persistence.jdbc.password" value="bar"/>
        </properties>
    </persistence-unit>
</persistence>

以下 jar 位于构建路径中:

  • org.eclipse.persistence.jpa-2.6.4.jar
  • eclipselink-2.6.4.jar
  • javax.persistence-2.1.1.jar
  • postgresql-9.4.1212.jar

最佳答案

我必须在 persistence.xml 中使用 xmlns 属性提供持久性命名空间

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

关于java - 使用 Java SE 的 JPA : javax. persistence.PersistenceException:没有 EntityManager 的持久性提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40709995/

相关文章:

java - 使用 Java8 流 API 从集合中删除最大值(或最小值)

java - 在页面加载时从 JSP 文件调用 servlet

java - 如何在 RxJava Vert.x 中结束链式 http 请求?

java - JPA 嵌套选择左外连接

java - JPA Criteria 查询在不同级别上具有多个 IN

persistence - 如何在g-wan中的http请求之间共享内存?

mysql - 使用 MySQL 的 Mesos 和持久存储

java - ConstraintLayout 内 RecyclerView 内的 Center ProgressBar

java - 使用 persistence.xml 连接到 MySQL 数据库。为什么 EntityManager 查询返回 null?

ios - 将数组保存到 CoreData Swift