Bonjour,
Voilà, j'ai une méthode de suppression qui existe déjà et est utilisée sans problème.
J'appelle cette méthode dans un nouveau bout de code pour une autre fonctionnalité et là j'ai une erreur qui apparaît. La suppression de mon élément ne se fait pas.
Erreur dans la trace de l'appli
et erreur sur jboss
Code : Sélectionner tout - Visualiser dans une fenêtre à part HibernateWrapException: La version de l'élément en cours de modification est dépassée. Veuillez fermer l'éditeur en cours d'utilisation et renouveller l'opération.
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
57
58
59 2014-08-06 11:08:05,049 INFO [STDOUT] (http-DV02%2F10.194.5.18-8080-1) 11:08:05,048 WARN RemoteInvocationTraceInterceptor:80 - Processing of HttpInvokerServiceExporter remote call resulted in fatal exception: fr.gesdesdep.application.business.entity.conception.fr.sihpic.remboursements.etatsFrais.IEtatFraisManager.deleteEtatFrais com.compuware.alturadev.entity.dao.exception.ConcurrencyFailureException: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [fr.gesdesdep.application.business.entity.conception.fr.sihpic.remboursements.etatsFrais.internals_etatsFrais.EtatFrais#90c3a748ffc205126a306a30fadf8fd9] at com.compuware.alturadev.hibernate.exception.ExceptionConverter.convert(ExceptionConverter.java:103) at fr.gesdesdep.application.business.entity.conception.fr.sihpic.remboursements.etatsFrais.internals_etatsFrais.dao.EtatFraisDaoImplHibernate.delete(EtatFraisDaoImplHibernate.java:227) at fr.gesdesdep.application.business.entity.conception.fr.sihpic.remboursements.etatsFrais.internals_etatsFrais.EtatFraisManager.deleteEtatFrais(EtatFraisManager.java:255) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:70) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy440.deleteEtatFrais(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205) at org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:38) at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78) at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114) at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:74) at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at gdeppres.application.presentation.filters.SetCharacterEncodingFilterGdeppresWeb.doFilter(SetCharacterEncodingFilterGdeppresWeb.java:140) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:810) Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [fr.gesdesdep.application.business.entity.conception.fr.sihpic.remboursements.etatsFrais.internals_etatsFrais.EtatFrais#90c3a748ffc205126a306a30fadf8fd9] at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1680)
Voici le code:
La méthode qui pète est deleteEtatFrais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 private void desintegreNdFNR(INoteFraisRetenue notefraisret) { if (etatFraisDest != null) { etatFraisDest = etatFraisManager.retirerNote0aEtatFrais(etatFraisDest, notefraisret); etatFraisManager.saveEtatFrais(etatFraisDest); // Suppression de l'état de Frais List<INoteFraisRetenue> listeNFRestante = etatFraisDest.getNoteFraisRetenue(); // Si il n'y a plus de note de frais dans l'état de frais // (la liste est vide) on le supprime if (listeNFRestante == null) { etatFraisManager.deleteEtatFrais(etatFraisDest); }
Partager