Bonsoir, je buche un peu sur la gestion des transactions, j'ai beaucoup suivi ce tuto (http://loic-frering.developpez.com/t...ring-tapestry/), en l'adaptant avec les dernières moutures des différents outils et en privilégiant les annotations dès que possible (sauf que je compte utiliser jsf avec richfaces et facelets et non tapestry comme dans le tuto du lien), mais j'aurais besoin d'éclaircissements sur les transactions.

Je me perds un peu entre les em.flush() et tx.commit(), dans le tuto, un flush est placé dans la méthode persist() de la couche service, mais pas ailleurs (remove, merge), sont-ils manquants ou bien il ne faudrait pas les placer ici ?
Puisqu'on manipule ces "petites" méthodes dans des transactions impliquant une ou plusieurs de ces méthodes, on n'a donc pas forcément besoin de flush() ou je me trompe ?

Aussi, a-t-on intéret à utiliser l'annotation @Transactional de Spring ? Comment faites-vous en général ? Si vous avez un exemple plus ou moins complet sur la question je suis preneur (je cherche et cherche encore mais les tutos sont souvent partiels ou non actualisés)