Vous pouvez configurer chaque objet javax.sql.DataSource
pour activer la validation automatique si le travail est en cours ou désactiver la validation automatique et écrire la logique de transaction par programmation.
Les classes java.sql.Connection
et javax.sql.DataSource
ont des méthodes pour activer/désactiver la validation automatique. En ce qui concerne l'injection de dépendances et Spring, vous pouvez toujours injecter un objet source de données dans votre référentiel. Si vous autorisez également chaque référentiel à étendre la classe org.springframework.jdbc.core.support.JdbcDaoSupport
, vous disposez d'un objet JdbcTemplate avec la méthode getJdbcTemplate()
dérivée.
Vous pouvez également laisser Spring gérer le traitement des transactions pour vous. Sans gestionnaire de transactions XA, vous avez besoin d'un gestionnaire de transactions pour chaque source de données. Avec de nombreux gestionnaires de transactions, le support des transactions déclaratives avec l'annotation @Transactional
est impossible. Vous pouvez cependant injecter le gestionnaire de transactions dans votre classe de service. Ceci est décrit dans la documentation de référence here.
Donc je suppose, le JdbcTemplate commettra simplement après chaque mise à jour, si rien d'autre n'est spécifié? – Flyhard
C'est le comportement par défaut pour chaque 'DataSource' que j'ai utilisé. Cela devrait donc, mais vérifiez votre configuration 'DataSource' si le' JdbcTemplate.update (..) 'ne commet pas. – Espen
javax.sql.DataSource n'a aucune mention de validation automatique. –