Estoy intentando actualizar a Hibernate 3.5.3-FINAL.Hibernate 3.5.x: NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval
Al ejecutar mis pruebas de unidad, ahora recibirá la siguiente excepción:
java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1837)
Mi ruta de clase contiene la siguiente JAR:
Desde el dist de hibernación:
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
Otros frascos:
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
He investigado esto, y ese estado find answers mi servidor web debe ser compatible JPA2:
Unfortunately if your app server is not JPA 2 compliant, you are likely to be out of luck
Este proyecto es una biblioteca, no un proyecto de servidor web. (Aunque finalmente se implementa en un servidor web, simplemente estoy ejecutando pruebas de unidades aquí)
¿Qué me estoy perdiendo?
<indulgent_rant>
Como comentario, es muy frustrante que cada vez que la actualización de hibernación, me encuentro de pasar horas investigando los tarros en conflicto para MethodNotFoundException
o ClassNotFoundException
's. Debe haber una manera más simple?
Pensé con certeza que con el anuncio de que estaban fusionando los módulos a un solo proyecto central, ¿estos conflictos desaparecerían?
</indulgent_rant>
¿No es la presencia de hibernate-core 3.5.3 e hibernate-jpa-2.0-api 1.0.0 conflictiva, ya que ambas contienen la clase OneToMany? – acalypso
No están en conflicto, porque tienen diferentes espacios de nombres. Hay javax.persistence.OneToMany, y el otro es org.hibernate.mapping.OneToMany. –
No sé para qué ... pero trabajo xD! – wrivas