salut,
j'ai deux entités produit et propriete reliées par une association ManyToMany.Maintenant je veux ajouter des propriétés au produit voici le code des deux méthodes utilisées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @ManyToMany(targetEntity = Propriete.class, cascade ={ CascadeType.PERSIST , CascadeType.MERGE, CascadeType.REMOVE }, fetch=FetchType.EAGER) @JoinTable(name="listePropriete", joinColumns= @JoinColumn(name="refidProduit", referencedColumnName="idProduit"), inverseJoinColumns=@JoinColumn(name="refidPropriete", referencedColumnName="idPropriete")) private List<Propriete> proprieteList=new ArrayList<Propriete>();
Il me donne l'erreur au niveau de produitlocal.mergeEntity(pdt); que la transition a été annulée voici la trace
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 //Cette méthode affiche la page qui permet de choisir les propriétés à ajouter au produit public String choisirPropriete() { proItems= new ArrayList<SelectItem>(); proprieteList=locp.queryProprieteFindAll(); // SelectItem item = new SelectItem(-1, "== Selectionner =="); //proItems.add(item); for(int i=0;i<proprieteList.size(); i++) { SelectItem item1 = new SelectItem(proprieteList.get(i).getIdPropriete(), proprieteList.get(i).getNaturePropriete()); proItems.add(item1); } return"propriete"; } //Cette méthode ajoute des propriétés au produit public String ajoutPropriete() { // proprieteList=locp.queryProprieteFindAll(); for(int i=0;i<locp.queryProprieteFindAll().size(); i++) { pdt.getProprieteList().add(locp.ProprieteFindOnly(this.getPropriete())); //proprieteList.add(locp.ProprieteFindOnly(this.getPropriete())); } //pdt.setProprieteList(proprieteList); produitlocal.mergeEntity(pdt); return"proprieteajoutee"; }
j'attends votre aide svp je suis bloquée.
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 Caused by: javax.faces.el.EvaluationException: javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException: La transaction a été marquée comme devant être annulée. at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) ... 34 more Caused by: javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException: La transaction a été marquée comme devant être annulée. at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3823) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3596) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1379) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:205) at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127) at $Proxy159.mergeEntity(Unknown Source) at ass.managedbean.assurance.MbeanProduit.ajoutPropriete(MbeanProduit.java:218) 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 com.sun.el.parser.AstValue.invoke(AstValue.java:187) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77) ... 35 more







Répondre avec citation

Partager