【问题标题】:No Persistence provider for EntityManager named (New)没有名为 EntityManager 的持久性提供程序(新)
【发布时间】:2019-03-10 17:08:24
【问题描述】:

我正在尝试调用 persistence.xml 以显示 Netbeans IDE 中数据库中的一些数据。我已经查看并尝试了以前用户提出的不同方法,但我仍然无法解决问题。

我用这个来调用持久化单元,

EntityManagerFactory emf = Persistence.createEntityManagerFactory("TimeEven DataBasePU");

这是我尝试运行文件时返回的内容,

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named TimeEven DataBasePU
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at internal.assesment.TimeTableEventList.main(TimeTableEventList.java:110)
C:\Users\User\Documents\NetBeansProjects\Timetable\nbproject\build-impl.xml:1051: The following error occurred while executing this line:
C:\Users\User\Documents\NetBeansProjects\Timetable\nbproject\build-impl.xml:805: Java returned: 1

这是第 805 行,错误似乎源于此

<java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">

如前所述,

我已经在 Persistence 单元名称下添加了提供程序,

<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

并且我已经确保 Persistence is unit 在 META-INF 文件夹中,

C:\Users\User\Documents\NetBeansProjects\Timetable\src\META-INF\persistence.xml

它在类路径中,所以我不确定错误在哪里。

编辑 1. 是的,我从 xml 代码中复制并粘贴(我在那里也拼错了,哈哈)

Image of Persistence

编辑 2。

Image of Files and Libraries

编辑 3。

Source Directory

【问题讨论】:

    标签: java jpa netbeans persistence


    【解决方案1】:

    我认为您发布的异常是由于没有与您在 Persistence.createEntityManagerFactory 上传递的名称匹配的持久性单元引起的。 在你的情况下:

    <persistence-unit name="TimeEven DataBasePU">
    

    那么,如果您确定持久性单元的名称与您在代码中写的相同,您能否检查一下您的persistence.xml

    或者,发布您的persistence.xml 可能有助于解决您的问题。

    编辑 1: 你能检查你的依赖关系吗?

    如果你使用maven(pom.xml),它必须有:

    <dependency>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>javax.persistence</artifactId>
      <version>2.1.1</version>
      <scope>provided</scope>
    </dependency>
    

    【讨论】:

    • 感谢您的回答!是的,我添加了我的 Persistence Unit 的屏幕截图。
    • 您好,感谢您花时间回答。我认为我没有任何地方可以添加依赖项。 (我在创建项目时没有选择 Maven Java 应用程序。)假设它被标记到文件 META-INF 中的 persistence.xml 上吗?我添加了我拥有的所有库的屏幕截图。最好的问候。
    • @ThoreRin ,你能发布你的源目录结构吗?我想我在persistence.xml 的位置不正确时重现了该错误。
    • 太棒了!我刚刚发了,够吗?
    • 看起来很奇怪...您发布的目录似乎正确。您能否尝试清理并构建项目或使用相同的代码重新创建项目?
    猜你喜欢
    • 1970-01-01
    • 2015-11-08
    • 2016-04-18
    • 2010-11-12
    • 2013-06-20
    相关资源
    最近更新 更多