小编Dal*_*r42的帖子

javax.persistence.PersistenceException:没有名为EntityManager的持久性提供程序

我正在尝试使用JPA为我目前参与的Java-EE项目设置持久性,并且我遇到了很多配置问题.目前,我已在persistence.xml中定义了一个RESOURCE_LOCAL持久性单元,目的是在解决设置JTA持久性单元及其相应JTA数据源的问题之前,在单元测试中使用此单元并验证其他所有工作.然而,即使这种"简单"的情况也会导致错误.

详细地:

我得到的错误是这样的:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named kronosTestLocal
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
    at persistence.EntityManagerTest.getStaff(EntityManagerTest.java:56)
    at persistence.EntityManagerTest.setup(EntityManagerTest.java:17)
    ...
Run Code Online (Sandbox Code Playgroud)

抛出错误的代码片段是JUnit测试中的以下内容:

private final String persistenceUnitName = "kronosTestLocal";
....
final EntityManagerFactory entityManagerFactory =
    Persistence.createEntityManagerFactory(persistenceUnitName);
Run Code Online (Sandbox Code Playgroud)

persistence.xml(在META-INF中并在intellij JPA facet中声明):(我尝试删除kronos持久性单元,以防它以某种方式干扰,但这没有帮助)

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
    <persistence-unit name="kronos" transaction-type="JTA">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>jdbc/kronos-database</jta-data-source>

        <class>persistence.entities.DaySlotsEntity</class>
        <class>persistence.entities.DaysEntity</class>
        <class>persistence.entities.EmailNotificationsEntity</class>
        <class>persistence.entities.EmailSendingTimestampsEntity</class>
        <class>persistence.entities.GroupSlotsEntity</class>
        <class>persistence.entities.GroupsEntity</class>
        <class>persistence.entities.InterviewerEntity</class>
        <class>persistence.entities.InterviewerPreferencesEntity</class>
        <class>persistence.entities.InterviewerUnavailableDaysEntity</class>
        <class>persistence.entities.InterviewerWorkloadEntity</class>
        <class>persistence.entities.InterviewsEntity</class>
        <class>persistence.entities.PreferenceTypesEntity</class>
        <class>persistence.entities.PreferencesEntity</class>
        <class>persistence.entities.StaffEntity</class>
        <class>persistence.entities.StudentsEntity</class>
        <class>persistence.entities.SwapsEntity</class>
    </persistence-unit>

    <persistence-unit name="kronosTestLocal" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <class>persistence.entities.DaySlotsEntity</class>
        <class>persistence.entities.DaysEntity</class>
        <class>persistence.entities.EmailNotificationsEntity</class>
        <class>persistence.entities.EmailSendingTimestampsEntity</class>
        <class>persistence.entities.GroupSlotsEntity</class>
        <class>persistence.entities.GroupsEntity</class>
        <class>persistence.entities.InterviewerEntity</class>
        <class>persistence.entities.InterviewerPreferencesEntity</class>
        <class>persistence.entities.InterviewerUnavailableDaysEntity</class>
        <class>persistence.entities.InterviewerWorkloadEntity</class>
        <class>persistence.entities.InterviewsEntity</class>
        <class>persistence.entities.PreferenceTypesEntity</class> …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa intellij-idea java-ee maven

5
推荐指数
1
解决办法
3722
查看次数

标签 统计

hibernate ×1

intellij-idea ×1

java-ee ×1

jpa ×1

maven ×1