java - HibernatePersistenceProvider : Unsupported major. 次要版本 52.0 intellij

标签 java hibernate intellij-idea jdk1.7

我这样搜索这个问题

How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

但答案对我不起作用

我正在使用 jdk 1.7,我将编译器设置为 1.7.0_79 这意味着是 java 7 但是当我运行时我仍然收到错误,我将项目字节代码版本设置为 1.7 但相同的消息

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/hibernate/jpa/HibernatePersistenceProvider : Unsupported major.minor version 52.0

这个异常发生在尝试加载 persistence.xml 在此行

    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

并且在这一行的java代码中

    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("sample");

最佳答案

我在使用 Hibernate 处理项目时遇到了同样的问题:Caused by: java.lang.UnsupportedClassVersionError: org/hibernate/jpa/HibernatePersistenceProvider : Unsupported major.minor version 52.0 .

更新 IntelliJ 和 Maven 项目设置(如 herehere 所述)以使用相同的 Java 版本进行编译和运行并没有解决问题。

Adrian Shum 所述之前,如果你想使用 Java 7你必须检查Hibernate -相关库因为Hibernate 5.2 and later versions require at least Java 1.8 (Hibernate System Requirements)。

在我的例子中,降级 POM 文件中的库版本解决了这个问题,方法是更改​​

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.6.Final</version>
</dependency>

进入

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.1.4.Final</version>
</dependency>

关于java - HibernatePersistenceProvider : Unsupported major. 次要版本 52.0 intellij,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39513098/

相关文章:

java - 如何从地址拦截器更改一个订单的 OrderStatus?海布里斯商务

hibernate - 潜在的 hibernate 版本问题:java.lang.NoSuchMethodError:org.hibernate.cfg.Configuration.setListener(Ljava/lang/String; Ljava/lang/Object;)

java - c3p0 日志记录不起作用

java - 什么是NullPointerException,我该如何解决?

java - 为什么我们不应该吞下 InterruptedException

java - Hibernate 中 load() 与 get() 的优势是什么?

java - 在 IntelliJ 中,如何使用 Shift + F1 在浏览器中查看生成的文档

java - IntelliJ Maven 原型(prototype)

java - 使用 Kotlin 配置 Gradle

java - 适用于 Android 的在线广播流媒体应用