加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – “没有EntityManager的持久性提供程序”错误

发布时间:2020-12-14 19:22:08 所属栏目:Java 来源:网络整理
导读:我是JPA的新手,我试着从书中做一个简单的例子. 但无论我做什么,我都会收到以下错误: Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named EmployeeService at javax.persistence.Persist

我是JPA的新手,我试着从书中做一个简单的例子.
但无论我做什么,我都会收到以下错误:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named EmployeeService
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
        at com.mycompany.simpleentity.EmployeeTest.main(EmployeeTest.java:18)

我google了很多,我做了我读到的关于JPA的所有内容.
这是我项目的目录树:

    .
|-- pom.xml
`-- src
    |-- main
    |   |-- java
    |   |   `-- com
    |   |       `-- mycompany
    |   |           `-- simpleentity
    |   |               |-- Employee.java
    |   |               |-- EmployeeService.java
    |   |               `-- EmployeeTest.java
    |   `-- resources
    |       `-- META-INF
    |           `-- persistence.xml
    `-- test

这是我的pom.xml:


这是我的源代码:
EmployeeTest.java:

package com.mycompany.simpleentity;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class EmployeeTest {
    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("EmployeeService");
        EntityManager em = emf.createEntityManager();

    }
}

这是我的persistance.xml

我做错了什么?
先感谢您.

最佳答案
JPA是由多个JPA提供程序(Hibernate,EclipseLink,OpenJPA,Toplink)实现的规范.

您需要选择要使用的提供程序,并将适当的依赖项添加到您的pom.xml中.您还需要在persistence.xml中指定您的提供程序.

例如,如果您使用OpenJPA(我为此示例选择了它,因为它的最新版本在Maven Central Repo中可用,因此不需要配置特定于供应商的存储库):

 

.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读