Assurez-vous que votre DAO est enveloppé dans une transaction (par exemple en utilisant les intercepteurs de Spring pour les transactions). La même connexion sera alors utilisée pour les deux appels.
Encore mieux serait d'avoir les transactions à un niveau supérieur, au niveau du service.
Documentation :http://static .springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html
Mise à jour : Si vous jetez un oeil à la JavaDoc du DataSourceUtils.getConnection()
méthode que vous avez référencée dans votre mise à jour, vous verrez qu'elle obtient la connexion associée au thread en cours :
Selon cela, cela devrait fonctionner comme vous l'avez configuré. J'ai utilisé ce modèle de nombreuses fois et je n'ai jamais rencontré de problèmes comme vous l'avez décrit...
Veuillez également jeter un œil à ce fil, quelqu'un y traitait des problèmes similaires :Transactions déclaratives Spring Jdbc créées mais ne faisant rien