Sørg for, at din DAO er pakket ind i en transaktion (f.eks. ved at bruge Spring's Interceptors for Transactions). Den samme forbindelse vil så blive brugt til begge opkald.
Endnu bedre ville være at have transaktionerne et niveau højere, på servicelaget.
Dokumentation:http://static .springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html
Opdatering: Hvis du tager et kig på JavaDoc'et til DataSourceUtils.getConnection()
metode, som du refererede til i din opdatering, vil du se, at den får forbindelsen forbundet med den aktuelle tråd:
Ifølge dette skulle det fungere som du har sat det op. Jeg har brugt dette mønster mange gange og aldrig stødt på nogen problemer, som du beskrev...
Tag også et kig på denne tråd, nogen beskæftigede sig med lignende problemer der:Forår Jdbc-deklarative transaktioner oprettet, men ikke gør noget