salut tout le monde,
j'essaye désespérément de faire une opération de mise a jour mais rien a faire
J'ai 2 entités: Travail 1--------1..* Action

Travail :

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
 
@Entity
@Table(name = "Travail")
@NamedQueries( {
		@NamedQuery(name = "countDemande", query = "Select count(*) from Demande"),
		@NamedQuery(name = "findAllDemande", query = "Select d from  Demande d order by d.libelle asc") })
public class Demande implements java.io.Serializable{
	...............
private Set<Action> actions = new HashSet<Action>();
...............
 
@OneToMany(cascade = {CascadeType.ALL},fetch=FetchType.EAGER)
		public Set<Action> getActions() {
			return actions;
		}
ma methode d'ajout d'une action
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
public String plannification(){
		try{
			iddemande = new Integer(getParameter(FacesContext.getCurrentInstance(), "iddemande"));
			if(iddemande==null){
				JSFUtils.addError("errors.unknown.id", "demande");
				return "error";
			}
			setUserInfos();			
 
			demande = publicFacade.demandeFindByPrimaryKey(iddemande);
			Action action = new Action();
			action.setCommentaire(motifplannif);
			action.setDateplannification(dateplannification);
			action.setIntervenant(user.getRessource());
			action.setDatecreationaction(new Date());
			action.setTypeaction(TypeAction.PLANNIFIER);			
 
			demande.getActions().add(action);
			demande.setIntervenant(user.getRessource());
			demande.setEtat(Demande.Etat.PLANIFIEE);
			demande.setDateplannification(dateplannification);			
			publicFacade.updateDemande(demande);
 
			//Affichage d'un message de réussite
			JSFUtils.addMessage("success.saved", "la demande");
			clear();			
			return "success";
		}catch (Exception e) {
			// TODO: handle exception
			e.getCause().printStackTrace();
		}
		return "error";		
	}

SessionBean:
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
public void updateDemande(Demande updateDemande) {
		try{
//			 Lecture de la demande
			Demande demande = (Demande) em.find(Demande.class, updateDemande
					.getIddemande());
 
			// Positionnement des infos complémentaires
			demande.setDateder_maj(new Date());
			demande.setLibelle(updateDemande.getLibelle());
			demande.setDescription(updateDemande.getDescription());
			demande.setCommentaire(updateDemande.getCommentaire());
			demande.setUnitetravail(updateDemande.getUnitetravail());
			demande.setIntervenant(updateDemande.getIntervenant());
			demande.setEtat(updateDemande.getEtat());
			demande.setDatefinprevue(updateDemande.getDatefinprevue());
 
			demande.setDateplannification(updateDemande.getDateplannification());
 
			demande.setDaterejet(updateDemande.getDaterejet());
 
			if(updateDemande.getEtat().equals(Demande.Etat.TERMINEE))
				demande.setDatefinreel(new Date());	
			else if(updateDemande.getEtat().equals(Demande.Etat.REJETEE)){
				demande.setDaterejet(new Date());
				demande.setActions(updateDemande.getActions());
			}
			else if(updateDemande.getEtat().equals(Demande.Etat.PLANIFIEE)){
				demande.setActions(updateDemande.getActions());			
			}
 
 
			//Mise à jour du demandeur		
			demande.setDemandeur(updateDemande.getDemandeur());
 
 
		}catch (Exception ex) {
			// TODO: handle exception
			ex.getCause().printStackTrace();			
			return;
		}
 
 
	}


lorsque je modifie un travail pour lui ajouter une action, si c'est la premiere action associé au travail ca se passe sans probleme, mais si ce travail a deja une action a ce moment la j'ai droit au message d'erreur suivant :

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
ERROR [STDERR] org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=PC-de-Dada/63, BranchQual=, localId=63] status=STATUS_NO_TRANSACTION; - nested throwable: (javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: 
23:29:36,466 ERROR [STDERR] 	at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:372)
23:29:36,466 ERROR [STDERR] 	at org.jboss.tm.TxManager.commit(TxManager.java:240)
23:29:36,466 ERROR [STDERR] 	at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
23:29:36,466 ERROR [STDERR] 	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
23:29:36,466 ERROR [STDERR] 	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
23:29:36,466 ERROR [STDERR] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
23:29:36,467 ERROR [STDERR] 	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
23:29:36,467 ERROR [STDERR] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
23:29:36,467 ERROR [STDERR] 	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
23:29:36,467 ERROR [STDERR] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
23:29:36,467 ERROR [STDERR] 	at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
23:29:36,467 ERROR [STDERR] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
23:29:36,467 ERROR [STDERR] 	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
23:29:36,467 ERROR [STDERR] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
23:29:36,467 ERROR [STDERR] 	at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
23:29:36,467 ERROR [STDERR] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
23:29:36,467 ERROR [STDERR] 	at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:225)
23:29:36,467 ERROR [STDERR] 	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:55)
23:29:36,467 ERROR [STDERR] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
23:29:36,467 ERROR [STDERR] 	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
23:29:36,467 ERROR [STDERR] 	at $Proxy86.updateDemande(Unknown Source)
23:29:36,467 ERROR [STDERR] 	at 
23:29:36,467 ERROR [STDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
23:29:36,467 ERROR [STDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
23:29:36,467 ERROR [STDERR] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
23:29:36,467 ERROR [STDERR] 	at java.lang.reflect.Method.invoke(Unknown Source)
23:29:36,467 ERROR [STDERR] 	at com.sun.el.parser.AstValue.invoke(AstValue.java:151)
23:29:36,468 ERROR [STDERR] 	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
23:29:36,468 ERROR [STDERR] 	at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
23:29:36,468 ERROR [STDERR] 	at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
23:29:36,468 ERROR [STDERR] 	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
23:29:36,468 ERROR [STDERR] 	at javax.faces.component.UICommand.broadcast(UICommand.java:312)
23:29:36,468 ERROR [STDERR] 	at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:180)
23:29:36,468 ERROR [STDERR] 	at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:158)
23:29:36,468 ERROR [STDERR] 	at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:329)
23:29:36,468 ERROR [STDERR] 	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
23:29:36,468 ERROR [STDERR] 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
23:29:36,468 ERROR [STDERR] 	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
23:29:36,468 ERROR [STDERR] 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
23:29:36,468 ERROR [STDERR] 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
23:29:36,468 ERROR [STDERR] 	at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
23:29:36,468 ERROR [STDERR] 	at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
23:29:36,468 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
23:29:36,468 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
23:29:36,469 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
23:29:36,469 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
23:29:36,469 ERROR [STDERR] 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
23:29:36,469 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
23:29:36,469 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
23:29:36,469 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
23:29:36,469 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
23:29:36,469 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
23:29:36,469 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
23:29:36,469 ERROR [STDERR] 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
23:29:36,469 ERROR [STDERR] 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
23:29:36,469 ERROR [STDERR] 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
23:29:36,469 ERROR [STDERR] 	at java.lang.Thread.run(Unknown Source)
23:29:36,469 ERROR [STDERR] Caused by: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: 
23:29:36,469 ERROR [STDERR] 	at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:567)
23:29:36,469 ERROR [STDERR] 	at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:484)
23:29:36,469 ERROR [STDERR] 	at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1491)
23:29:36,469 ERROR [STDERR] 	at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1110)
23:29:36,469 ERROR [STDERR] 	at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:324)
23:29:36,470 ERROR [STDERR] 	... 64 more
23:29:36,470 ERROR [STDERR] Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: 
23:29:36,470 ERROR [STDERR] 	at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.impl.SessionImpl.firePersistOnFlush(SessionImpl.java:646)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.impl.SessionImpl.persistOnFlush(SessionImpl.java:638)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.CascadingAction$9.cascade(CascadingAction.java:225)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:157)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:108)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:290)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:185)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:160)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:108)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:130)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:121)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:65)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
23:29:36,470 ERROR [STDERR] 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:993)
23:29:36,471 ERROR [STDERR] 	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:340)
23:29:36,471 ERROR [STDERR] 	at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:475)
23:29:36,471 ERROR [STDERR] 	... 67 more
quelqu'un aurait une piste ?