Bonjour,
Je développe une application webflow pour la gestion d'un stock.
Sur chacune de mes entités j'ai ajouté l'annotation @OptimisticLocking(type = OptimisticLockType.ALL).
Résultat lorsqu'un utilisateur "A" édite un enregistrement en même temps que l'utilisateur "B". Si "B" modifie l'enregistrement, quand "A" fera la même opération, l'exception javax.persistence.OptimisticLockException est levée. Je l'intercepte dans le configuration de mon webflow et affiche un message d'erreur à l'utilisateur.
Jusque là, c'est parfait!
Voici donc le scénario qui me pose problème. L'utilisateur "A" édite un enregistrement en même temps que "B". "B" le modifie et le sauve. "A" ne modifie rien mais clique sur le bouton "SAUVÉ" donc je persiste l'entité qu'il a chargé en session au moment de l'édition mais qui ne contient plus les données qui sont réellement dans la base de données puisqu'entre temps "B" les a modifiées. Et là aucune levée d'exception...
Est-ce que qqu'un pourrait m'éclairer sur ce comportement et/ou m'aider à le contrecarrer?
Merci
Partager