2012-02-09 2 views
0

J'ai un EJB, dont la méthode (entre autres) charge une entité et la modifie. Si la méthode se termine, les modifications de cette entité sont automatiquement validées dans la base de données sans appeler la méthode EntityManager.saveOrUpdate()? Et lorsque la méthode échoue alors la transaction de cette méthode EJB sera rollback avec les modifications de cette entité?Entités JPA et TransactionContext de la méthode EJB

Répondre

1

Avec EJB implicitement, votre méthode est liée à une transaction. Si vous chargez l'entité avec le gestionnaire d'entités, l'entité est attachée au contexte persistant, donc si vous faites des modifications sur l'objet, à la fin de la transaction, si tout va bien, la transaction valide et les modifications sont vidées dans la base de données. Si une erreur survient, la transaction est annulée et les modifications sont ignorées.

+0

Si quelque chose se passe mal et qu'une exception est levée, l'annulation dépend de l'existence ou non d'une exception d'exécution, ou si elle a été déclarée avec l'annotation @ApplicationException. Voir http://blog.dblevins.com/2010/07/applicationexception-is-evil-sort-of.html –

+0

Merci pour votre réponse. – Barcelona

Questions connexes