首页 > Java > java教程 > 为什么将 Hibernate 从 4.2.5 升级到 4.3.0 会导致 javax.persistence.Table.indexes() 出现 NoSuchMethodError?

为什么将 Hibernate 从 4.2.5 升级到 4.3.0 会导致 javax.persistence.Table.indexes() 出现 NoSuchMethodError?

Linda Hamilton
发布: 2024-11-26 13:12:12
原创
1032 人浏览过

Why Does Upgrading Hibernate from 4.2.5 to 4.3.0 Cause a NoSuchMethodError for javax.persistence.Table.indexes()?

NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;

问题:

从 Hibernate 升级后4.2.5 到 4.3.0,出现了异常:

NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
登录后复制

此问题在 Hibernate 版本 4.2.6-4.2.8 中仍然存在,但在 4.2.5 中不存在。

解决方案:

由于依赖冲突而出现此问题Play Java JPA 和 Hibernate 4.3 之间。 Play Java JPA 依赖于 JPA 2.0 规范,而 Hibernate 4.3 使用较新的 JPA 2.1 规范。

修复:

修改 build.sbt 文件,添加以下内容依赖项:

libraryDependencies ++= Seq(
javaJdbc,
javaJpa.exclude("org.hibernate.javax.persistence", "hibernate-jpa-2.0-api"),
"org.hibernate" % "hibernate-entitymanager" % "4.3.0.Final"
)
登录后复制

此步骤排除 JPA 2.0 依赖项并确保仅使用 JPA 2.1。此解决方案适用于 Play 2.2.x 版本。

注意:

对于早期版本的 Play,此问题可能需要进行不同的修改。

以上是为什么将 Hibernate 从 4.2.5 升级到 4.3.0 会导致 javax.persistence.Table.indexes() 出现 NoSuchMethodError?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板