从 Hibernate3 升级到 Hibernate5 时出现错误

Posted

技术标签:

【中文标题】从 Hibernate3 升级到 Hibernate5 时出现错误【英文标题】:Error seen during upgrade from Hibernate3 to Hibernate5 【发布时间】:2016-11-22 18:39:48 【问题描述】:

我正在从 Hibernate3 升级到 Hibernate5。作为该过程的第一步,我将 hibernate3.jar 替换为 hibernate-core-5.2.1.Final.jar。 此外,更新了由于 jar 更改而导致编译问题的代码。 但是,在启动 tomcat 时,我看到以下错误:

Caused by: java.lang.UnsupportedClassVersionError: org/hibernate/service/ServiceRegistry : Unsupported major.minor version 52.0 (unable to load class org.hibernate.service.ServiceRegistry)

major.minor 错误不是由我的本地代码上不同版本的编译与运行时引起的。错误似乎源于 Hibernate。

有人知道这可能是什么原因吗?

另外,在现有的 hbm.xml 文件中,使用的 DOCTYPE 如下。

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

之前有没有人在升级过程中遇到过这个错误?

【问题讨论】:

【参考方案1】:

之所以出现此问题,是因为 Hibernate - 5.2.1 中的某些类需要 Java 8 才能运行。我切换到 Hibernate 5.1.0 并且一切正常。

【讨论】:

以上是关于从 Hibernate3 升级到 Hibernate5 时出现错误的主要内容,如果未能解决你的问题,请参考以下文章

支持 Hibernate 3.6.1 并升级到 5

EasyJWeb+JPA(Hibernate3.2)+Spring2构架缓存技术

Web项目从Oracle转为Mysql,fluentnhibernate-1.0和NHibernate2.1.0升级到NHibernate3.3的注意事项

为啥 Spring 在使用 Hibernate 3 时推迟关闭 Hibernate 会话

升级到oracle11g-x64时遇到麻烦

GWT 2.3 升级后的 RPC 错误