首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >春季引导Hibernate错误java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;

春季引导Hibernate错误java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
EN

Stack Overflow用户
提问于 2014-12-09 07:42:42
回答 1查看 2.8K关注 0票数 3

我正在使用Spring在一个具有许多Hibernate依赖项的现有项目上做一个原型。我试图定义一个自定义的LocalEntityManagerFactoryBean,在这里我得到了这个错误:

代码语言:javascript
复制
java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;

我尝试过更新hibernate版本(由于项目向后兼容性导致许多其他编译错误,无法使用所有最新版本),但是使用下面的hibernate依赖关系图可以让它编译,但仍然会得到这个运行时依赖错误。当我搜索这个错误时,所有的结果都指向Hibernate 4和JPA2.1的升级。我们已经在使用Hibernate 4+了,所以只需稍微修改一下版本就行了,但没有运气。下面来自Gradle的依赖关系图显示,我没有任何旧版本的"org.hibernate.javax.persistence:hibernate-jpa-2.0-api“

代码语言:javascript
复制
|    +--- org.hibernate:hibernate-entitymanager:4.3.7.Final
|    |    +--- org.hibernate:hibernate-core:4.3.7.Final
|    |    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final
|    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final (*)
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    +--- org.hibernate:hibernate-validator:5.1.3.Final
|    |    |         +--- org.hibernate:ejb3-persistence:1.0.2.GA
|    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final
|    |    |    |    |    |    +--- org.hibernate:hibernate-core:3.5.6-Final -> 4.3.7.Final (*)
|    |    |    |    |    |    +--- org.hibernate:hibernate-commons-annotations:3.2.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    +--- org.hibernate:hibernate-entitymanager:4.3.7.Final
|    |    +--- org.hibernate:hibernate-core:4.3.7.Final
|    |    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final
|    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final (*)
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    +--- org.hibernate:hibernate-validator:5.1.3.Final
|    |    |         +--- org.hibernate:ejb3-persistence:1.0.2.GA
|    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final
|    |    |    |    |    |    +--- org.hibernate:hibernate-core:3.5.6-Final -> 4.3.7.Final (*)
|    |    |    |    |    |    +--- org.hibernate:hibernate-commons-annotations:3.2.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    +--- org.hibernate:hibernate-entitymanager:4.3.7.Final
|    |    +--- org.hibernate:hibernate-core:4.3.7.Final
|    |    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final
|    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final (*)
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    +--- org.hibernate:hibernate-validator:5.1.3.Final
|    |    |         +--- org.hibernate:ejb3-persistence:1.0.2.GA
|    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final
|    |    |    |    |    |    +--- org.hibernate:hibernate-core:3.5.6-Final -> 4.3.7.Final (*)
|    |    |    |    |    |    +--- org.hibernate:hibernate-commons-annotations:3.2.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    +--- org.hibernate:hibernate-entitymanager:4.3.7.Final
|    |    +--- org.hibernate:hibernate-core:4.3.7.Final
|    |    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final
|    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final (*)
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    +--- org.hibernate:hibernate-validator:5.1.3.Final
|    |    |         +--- org.hibernate:ejb3-persistence:1.0.2.GA
|    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final
|    |    |    |    |    |    +--- org.hibernate:hibernate-core:3.5.6-Final -> 4.3.7.Final (*)
|    |    |    |    |    |    +--- org.hibernate:hibernate-commons-annotations:3.2.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    +--- org.hibernate:hibernate-entitymanager:4.3.7.Final
|    |    +--- org.hibernate:hibernate-core:4.3.7.Final
|    |    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final
|    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate.common:hibernate-commons-annotations:4.0.5.Final (*)
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    +--- org.hibernate:hibernate-validator:5.1.3.Final
|    |    |         +--- org.hibernate:ejb3-persistence:1.0.2.GA
|    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final
|    |    |    |    |    |    +--- org.hibernate:hibernate-core:3.5.6-Final -> 4.3.7.Final (*)
|    |    |    |    |    |    +--- org.hibernate:hibernate-commons-annotations:3.2.0.Final
|    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    |    |    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    |    |    |    |    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    |    |    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
|    |    +--- org.hibernate:hibernate-core:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-entitymanager:4.2.0.Final -> 4.3.7.Final (*)
|    |    +--- org.hibernate:hibernate-annotations:3.5.6-Final (*)
|    |    +--- org.hibernate:hibernate-validator:4.2.0.Final -> 5.1.3.Final (*)
|    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta
|    |    |    |    +--- net.sf.beanlib:beanlib-hibernate:5.0.3beta

任何指点都会有很大帮助。

谢谢,

稻谷

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-09 17:53:49

尝试排除不需要的依赖项,并为所需的依赖项强制执行版本。例如:

代码语言:javascript
复制
configurations.all { conf ->
        exclude group: 'org.hibernate', module: 'hibernate-annotations'
        resolutionStrategy {

            // Forces one verion among the project
            force "org.hibernate.common:hibernate-commons-annotations:4.0.5.Final"
        }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27373725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档