gpt4 book ai didi

java - hibernate 3.5.x : NoSuchMethodError: javax. persistence.OneToMany.orphanRemoval

转载 作者:搜寻专家 更新时间:2023-10-30 20:56:11 26 4
gpt4 key购买 nike

我正在尝试升级到 Hibernate 3.5.3-FINAL。

运行单元测试时,我现在收到以下异常:

java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z   
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1837)

我的类路径包含以下 JAR:

来自 hibernate dist:

antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
slf4j-api-1.5.8.jar

cglib-2.2.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate3.jar

其他 jar :

blazeds-common-3.2.0.3978.jar
blazeds-core-3.2.0.3978.jar
blazeds-opt-3.2.0.3978.jar
blazeds-proxy-3.2.0.3978.jar
blazeds-remoting-3.2.0.3978.jar
commons-lang-2.3.jar
dbunit-2.4.7.jar
ejb3-persistence.jar // Note, I've tried excluding this, but I get different errors
guava-r05.jar
hsqldb-1.8.0.7.jar
junit-4.1.jar
lambdaj-2.0-with-dependencies.jar
log4j-1.2.14.jar
mockito-all-1.8.0.jar
persistence-api-1.0.jar
spring-security-core-2.0.0.jar
spring.jar
sqljdbc.jar

我研究过这个,并且我 find answers声明我的网络服务器必须符合 JPA2:

Unfortunately if your app server is not JPA 2 compliant, you are likely to be out of luck

这个项目是一个库,而不是一个网络服务器项目。 (虽然最终部署到webserver上,我这里只是简单的跑单元测试)

我错过了什么?

<indulgent_rant>

作为旁注,非常令人沮丧的是,每次升级 Hibernate 时,我都会花费数小时研究 MethodNotFoundException 的冲突 jar。或 ClassNotFoundException的。一定有更简单的方法吗?

我确信,随着他们宣布将模块合并回一个核心项目,这些冲突会消失吗?

</indulgent_rant>

最佳答案

正如 Timo 所指出的,删除 persistence-api-1.0.jar

以防万一,这是我正在使用的依赖项:

org.hibernate:hibernate-entitymanager:jar:3.5.3-Final:compile+- org.hibernate:hibernate-core:jar:3.5.3-Final:compile|  +- antlr:antlr:jar:2.7.6:compile|  +- commons-collections:commons-collections:jar:3.2:compile|  +- dom4j:dom4j:jar:1.6.1:compile|  |  \- xml-apis:xml-apis:jar:1.0.b2:compile|  \- javax.transaction:jta:jar:1.1:compile+- org.hibernate:hibernate-annotations:jar:3.5.3-Final:compile|  \- org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final:compile+- cglib:cglib:jar:2.2:compile|  \- asm:asm:jar:3.1:compile+- javassist:javassist:jar:3.9.0.GA:compile\- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.0.Final:compile

I'm getting them from this single declaration in my pom.xml:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.5.3-Final</version>
</dependency>

这应该以某种方式回答您放纵的咆哮(如果我换句话说:使用 Maven - 或者知道您在做什么)。

关于java - hibernate 3.5.x : NoSuchMethodError: javax. persistence.OneToMany.orphanRemoval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3189056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com