public String enregistrerMouvement() { if (typeMouvement.equals("ajout")) { gestionnaireCompte.deposer(compte, montant); } else { gestionnaireCompte.retirer(compte, montant); } try { gestionnaireCompte.update(compte); Util.addFlashInfoMessage("Mouvement enregistré sur compte de " + compte.getNom()); return "listeComptes?faces-redirect=true"; } catch (EJBException ex) { Throwable cause = ex.getCause(); if (cause != null) { if (cause instanceof OptimisticLockException) { Util.messageErreur("Le compte de " + compte.getNom() + " a été modifié ou supprimé par un autre utilisateur !"); } else { // ou bien afficher le message de ex... Util.messageErreur(cause.getMessage()); } } else { Util.messageErreur(ex.getMessage()); } return null; // pour rester sur la page } }
Si votre code appelle la méthode merge
dans les méthodes deposer
et retirer
de l'EJB, vous encadrez le if
du début dans le try
.