Bonjour à toutes et à tous,

voilà, j'ai un soucis bizarre avec hibernate... je vous explique:

J'ai une application Web qui gère des données, et notamment une page qui, lorsqu'on la valide, insère un objet de type A et met à jour un objet de type B... jusque là, rien de bien folichon...

Le problème est le suivant:
lorsqu'on fait un premier appel à cette page, tout fonctionne sans aucun soucis et, une fois que l'objet est inséré/maj en base, il est détruit...
mais lorsque je fais une recherche sur ce même objet, et que je revalide la page en faisant une petite modification sur l'objet j'ai l'erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.arsoebr.bdporc.metier.identification.bdporc.om.SiteDElevageOM#com.arsoebr.bdporc.metier.identification.bdni.om.SiteID@6b80292a]
	at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2208)
	at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2374)
	at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
	at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:59)
	at org.objectweb.jotm.SubCoordinator.doBeforeCompletion(SubCoordinator.java:1487)
	at org.objectweb.jotm.SubCoordinator.commit_one_phase(SubCoordinator.java:416)
	at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:239)
	at org.objectweb.jotm.Current.commit(Current.java:488)
	at com.arsoebr.bdporc.web.delegationMetier.AbstractDelegationBase.commitTransaction(AbstractDelegationBase.java:122)
	at com.arsoebr.bdporc.web.exploitation.miseAJour.delegationMetier.DelegationDeclarationActivite.InsererDeclarationActivite(DelegationDeclarationActivite.java:94)
	at com.arsoebr.bdporc.web.exploitation.miseAJour.actions.ValiderDAResumeAction.valider(ValiderDAResumeAction.java:215)
	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:585)
	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.arsoebr.bdporc.web.filtres.AbonneFilter.doFilter(AbonneFilter.java:95)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.arsoebr.bdporc.web.filtres.RendererFilter.doFilter(RendererFilter.java:113)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)
Nous avons 3 environnements utilisés:
  • un en dev en local qui pointe vers une base oracle de dev
  • un en qualification qui pointe vers une autre base oracle de qualification
  • un en préprod qui pointe vers une base oracle de pré prod

Ces 3 environnements sont des tomcat identique et ce qui est très bizarre, c'est que je n'ai cette erreur que sur un des 3 environnements utilisés, celui de pré prod.

Si quelqu'un a une piste... je suis preneur

@+