Bonjour,
J'ai un soucis pour effectuer des modifications avec l'usage d'un merge.
Voici les lignes de code concernées par le problème:
Mes sessions
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
 
@Stateless
public class SuiviParametrageFacadeBean implements SuiviParametrageFacade {
    @PersistenceContext(unitName = "App-ejbPU")
    private EntityManager em;
 
    public SuiviParametrageFacadeBean() {
    }
    ...
    public Bank mergeBank(Bank bank) {
        bank = em.merge(bank);
        return bank;
    }
    ...  
}
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
 
@Stateless
public class SuiviBanqueBean implements SuiviBanque {
 
    @EJB
    SuiviParametrageFacade suiviPf;
    private Logger logger = Logger.getLogger(SuiviBanqueBean.class.getName());
 
    ...
    public Bank modifierBanque(Bank modBank) {
        modBank = suiviPf.mergeBank(modBank);
        logger.log(Level.INFO, "Modification");
        logger.info("Banque modifiée avec succès");
        return modBank;
    } 
    ...
}
ManagedBean
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 class BanqueManagedBean {
 
    @EJB
    SuiviBanque suiviB;
    @EJB
    SuiviParametrageFacade suiviPf;
    private Bank currentBank;
    private Logger logger = Logger.getLogger(BanqueManagedBean.class.getName());
    ...
    public BanqueManagedBean() {
        this.currentBank = new Bank();
    }
 
    public Bank getCurrentBank() {
        return currentBank;
    }
 
    public void setCurrentBank(Bank currentBank) {
        this.currentBank = currentBank;
    }
 
    public String updBank() {
        try{
            suiviB.modifierBanque(currentBank);
            currentBank = new Bank();
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return "parametrage_banque";
    }
}
A la méthode updBank() est bien exécuté, j'ai vérifié que l'objet currentBank n'est pas null dans la méthode de modification, mais la mise à jour ne s'effectue pas dans la base de données. Au cas ça pourrais aider, j'utilise eclipselink comme outil de persitence. Pourriez vous m'aider à faire la mise à jour. Merci