Bonjour,
Voila j'ai un objet Objectif qui contient plusieurs champs dont un objet Technicien
J'ai une méthode pour faire le merge() de l'objectif :
Le souci c'est que j'ai un comportement différent pour cette même méthode :
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 public void edit(Objectif entity) { try { transaction.begin(); entity = em.merge(entity); transaction.commit(); } catch (Exception ex) { ex.printStackTrace(); } try{ transaction.begin(); em.refresh(this.find(entity.getIdTache())); transaction.commit(); }catch(Exception e){ e.printStackTrace(); } }
Dans une partie de mon application je suis amené à modifier le Technicien (Sans modifier ses attributs ) d'un Objectif existant => j'utilise la méthode au dessus pour modifier en BDD => le technicien de l'objectif a bien changé.
Dans une autre partie je fait exactement la même chose, dans l'objet l'Objectif j'ai bien mon technicien qui a été modifié, j'utilise la même méthode mais la rien ne se passe, le Technicien de l'Objectif n'a pas changé en BDD, et je n'ai pas d'erreur ...
Comment expliquer ce comportement différent ?
Partager