Au printemps, j'ai déclaré une méthode transactionnelle. J'utilise HibernateTransactionManager. Maintenant, j'aimerais lancer une exception de cette méthode, mais je ne veux pas que hibernate annule la transaction. Est-il possible de spécifier quelles exceptions provoquent la restauration?HibernateTransactionManager: possible de lancer une exception sans restauration?
Répondre
comportement rollback par défaut Spring est la suivante:
[...] le code infrastructure transaction Spring Framework , par défaut, cochez seulement une transaction pour rollback dans le cas d'exécution, sans contrôle des exceptions; que est, lorsque l'exception levée est une instance ou une sous-classe de RuntimeException. (Les erreurs seront également - par défaut - entraîner une annulation.) Les exceptions vérifiées lancées à partir d'une méthode transactionnelle ne produiront pas retour à la transaction en cours .
Vous pouvez remplacer cela, cependant. Cela dépend du mécanisme que vous avez utilisé pour délimiter vos transactions (par exemple, des annotations, du code XML, etc.), mais l'essentiel de l'exception d'annulation est dans le spring docs here. Par exemple, si vous utilisez l'annotation @Transactional
, vous pouvez spécifier l'attribut rollbackFor
à l'annotation pour spécifier quelles exceptions provoquent une annulation.
- 1. Est-il possible de lancer une exception MessageQueueException?
- 2. Foreach peut lancer une exception InvalidCastException?
- 3. Lancer une exception sur chaque erreur d'application
- 4. C++ re-lancer une exception interceptée par
- 5. Comment lancer une exception d'un constructeur enum?
- 6. Comment lancer une commande sans sudo?
- 7. Pourquoi lancer une exception EJBException est une pratique "recommandée"?
- 8. Insérer exception record et lancer
- 9. Pourquoi est-il impossible de lancer une exception de __toString()?
- 10. Comment lancer une exception de manière conditionnelle de manière concise?
- 11. Existe-t-il un moyen de vider une trace de pile sans lancer une exception dans Java?
- 12. Est-il toujours possible de lancer java.lang.Error?
- 13. propriété de profil utilisateur sharepoint vide lancer une exception
- 14. En .net pourquoi lancer une exception de calcul lourd?
- 15. Comment faire pour lancer une exception sur mon bean java
- 16. Coulée de serveur MS SQL sans exception
- 17. Pourquoi ProcessMessages peut-il lancer une exception C++?
- 18. Comment lancer une application mac sans une fenêtre de terminal
- 19. Comment lancer Glassfish v3 sans
- 20. Est-ce que ma méthode devrait lancer une exception?
- 21. Comment lancer une exception dans les nouveaux rhinocéros 3.5
- 22. Un ThreadPoolExecutor.CallerRunsPolicy va-t-il jamais lancer une exception RejectedExecutionException?
- 23. Hibernate est * PAS * lancer une exception (je pense qu'il devrait)
- 24. rejette une exception d'un JSP
- 25. Lancer float.MaxValue à Long throws exception?
- 26. Lancer une exception dans un service WCF jette un CommunicationException
- 27. Comment forcer Java à lancer une exception arithmétique?
- 28. requête XPath dans C# lancer exception
- 29. Est-il possible de lancer un sort Une gamme
- 30. JUnit: Possible d''attendre' une exception enveloppée?