错误:jakarta.persistence.PersistenceException:没有名为 EntityManager 的持久性提供者

问题描述 投票:0回答:0

我是 Java JPA 的新手。我按照一个教程(我无法将其公开)一步步进行,代码成功运行。但是,当我运行我的代码时,它显示WARNING: jakarta.persistence.spi::No valid providers found。我问了很多该领域的专家,但没有人找到解决方案,我需要尽快解决这个问题!

我尝试了所有解决方案,例如添加 hibernate-core.jar 以及针对此处提到的此错误的许多其他解决方案:我尝试过的解决方案This One 我没有像我遵循的教程那样使用 Maven!这是我的与教程相同的 persistence.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="Prog3Assi3PU" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>Ch5Apps.Department</class>
        <class>Ch5Apps.Employee</class>
        <class>Ch5Apps.EmployeeProjects</class>
        <class>Ch5Apps.Project</class>
        <properties>
            <property name="jakarta.persistence.jdbc.url" value="jdbc:mysql://localhost:3308/companyjpa?serverTimezone=UTC"/>
            <property name="jakarta.persistence.jdbc.user" value="root"/>
            <property name="jakarta.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
            <property name="jakarta.persistence.jdbc.password" value="root"/>
            <property name="jakarta.persistence.schema-generation.database.action" value="create"/>
        </properties>
    </persistence-unit>
</persistence>

我确定本地主机的端口号是正确的,并且 persistence.xml 在正确的路径中。我尝试使用 javax.persistence 并出现相同的错误。 请注意:我正在使用 NetBeans 17、JDK 20 并尝试了 JDK 17,但问题仍然出现。

java jpa javafx netbeans desktop-application
© www.soinside.com 2019 - 2024. All rights reserved.