当前位置: 首页 > 知识库问答 >
问题:

没有名为(新)的EntityManager的持久性提供程序

西门经国
2023-03-14

我正在尝试调用persistence.xml来显示Netbean 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">

如前所述,

我已经在持久化单元名称下添加了提供者,

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

我已经确保持久性是单元在META-INF文件夹中,

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

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

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

坚持的形象

编辑2.

文件和库的图像

编辑3。

源目录

共有1个答案

林浩漫
2023-03-14

我认为您发布的异常是因为没有与您在持久性上传递的名称匹配的持久性单元。createEntityManagerFactory。就你而言:

<persistence-unit name="TimeEven DataBasePU">

那么,你能检查一下你的持久性吗。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>
 类似资料:
  • 问题内容: 我在目录下使用相同的名字。然后,我用以下代码调用它: 但是,我收到以下错误消息: 这是: 它应该在类路径中。但是,我得到了上面的错误。 问题答案: 在之后,定义持久性提供程序名称:

  • 我试图在Eclipse中测试我的hibernate maven应用程序,当我运行获取enttity类名称的方法时,我得到了以下异常: 这是persistence.xml: 这是使用以下方法的类: 波姆。xml: 我尝试更改持久性的版本号、更改xmlns、提供程序的名称,但仍然是例外。

  • 我在REST服务器上工作,同时学习EJB\Hibernate。当服务调用DAO时,我面临一个问题,即它找不到我的持久性单元。 在本例中,我得到“无法为unitName PersistenceUnit检索EntityManagerFactory” 然后我试试这个: null pom.xml

  • 我正在使用JPA开发一个JavaSE应用程序。不幸的是,调用后我得到了: 下面你会发现: 调用并意外返回 我的坚持。xml文件 我的项目结构 我的代码片段: 我的坚持。xml: 我的项目结构:

  • 在drools workbench中,我创建了java类来获取entitymanager,并在drl文件中使用它,但我的问题是 当我在workbench中创建新项目时,我会像maven一样创建项目结构 当我打电话给全班的时候,像贝娄一样 persistence.xml像贝娄 还有pom。类xml 当我试图调用工厂类时,我没有为名为XXX的持久性提供程序 新工厂类

  • 我得到了这个错误: 线程“main”javax中出现异常。坚持不懈PersistenceException:在javax上没有名为EmployeeDb的EntityManager的持久性提供程序。坚持不懈坚持不懈javax上的createEntityManagerFactory(Persistence.java:85)。坚持不懈坚持不懈staffManagement的createEntityMan