Erreur "NoSuchMethodError", hibernate-envers-3.5.0-Final et hibernate-core-3.3.0.GA
Bonjour,
Je suis sur un projet existant.
Le projet utilise hibernate-core 3.3.0.GA et hibernate-envers 3.5.0-Final
L'erreur n'est pas systématique, mais j'obtiens parfois la trace suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Caused by: java.lang.NoSuchMethodError: org.hibernate.persister.entity.EntityPersister.getIdentifier(Ljava/lang/Object;Lorg/hibernate/engine/SessionImplementor;)Ljava/io/Serializable;
at org.hibernate.envers.tools.Tools.getIdentifier(Tools.java:67)
at org.hibernate.envers.tools.Tools.entitiesEqual(Tools.java:50)
at org.hibernate.envers.entities.mapper.relation.ToOneIdMapper.mapToMapFromEntity(ToOneIdMapper.java:71)
at org.hibernate.envers.entities.mapper.MultiPropertyMapper.map(MultiPropertyMapper.java:86)
at org.hibernate.envers.synchronization.work.ModWorkUnit.<init>(ModWorkUnit.java:48)
at org.hibernate.envers.event.AuditEventListener.onPostUpdate(AuditEventListener.java:165)
at org.hibernate.action.EntityUpdateAction.postUpdate(EntityUpdateAction.java:200)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:179)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy61.saveOneValue(Unknown Source)
at com.natixis.crm.web.controller.ActorController.changeValue(ActorController.java:389)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstValue.invoke(AstValue.java:172)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
... 119 more |
J'ai tenté une montée de version de hibernate-core (et les autres dépendances qui vont bien) en 3.5.0-Final, mais j'obtiens d'autres erreur de validation du modèle persistant et donc le serveur ne démarre pas.
En gros, il n'aime pas quand cohabitent sur une même colonne les annotations suivantes :
Code:
1 2 3 4 5 6
|
@OneToMany(mappedBy....
et
@JoinColumn... ou @JoinTable... |
Si vous avez une idée, des infos sur l'utilisation d'hibernate-envers avec une version d'hibernate-core antérieure... Je suis preneur.
Merci d'avance.