无法解析类“HibernatePersistenceProvider”

lai*_*avi 1 java hibernate intellij-idea gradle java-14

我在 build.gradle 中有 hibernate 依赖项,但出现以下错误

> Task :JPABootstrapping.main() FAILED
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named recipes
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
    at setup.JPABootstrapping.main(JPABootstrapping.java:10)

Execution failed for task ':JPABootstrapping.main()'.
> Process 'command '/usr/lib/jvm/java-14-openjdk-amd64/bin/java'' finished with non-zero exit value 1
Run Code Online (Sandbox Code Playgroud)

persistence.xml在下src/main/resources/META-INF

<persistence>
    <persistence-unit name="recipes">
        <description>Hibernate Tips</description>
        <provider>
            org.hibernate.jpa.HibernatePersistenceProvider
        </provider>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQL81Dialect" />
            <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://192.168.122.242:5432/recipes" />
            <property name="javax.persistence.jdbc.user" value="postgres" />
            <property name="javax.persistence.jdbc.password" value="postgres" />
        </properties>
    </persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)

IntelliJ的检查功能说HibernatePersistenceProvider无法解决: 在此输入图像描述

以下内容build.gradle包含 hibernate 核心和 postgresql 驱动程序依赖项:

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    implementation group: 'org.hibernate', name: 'hibernate-core', version: '5.0.5.Final'
    implementation group: 'org.postgresql', name: 'postgresql', version: '42.2.18'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
Run Code Online (Sandbox Code Playgroud)

zfo*_*rgo 5

hibernate-core确实很古老,更准确地说它是在 2015 年发布的。该工件不包含org.hibernate.jpa.HibernatePersistenceProvider类。从那时起,Hibernate 被重新命名并进行了大量重构。最新的稳定是: implementation group: 'org.hibernate', name: 'hibernate-core', version: '5.4.26.Final'这个工件具有该类。

附加信息:Hibernate 将再次重命名。新坐标将: implementation group: 'org.hibernate.orm', name: 'hibernate-core', version: '6.0.0.Final'