Уверете се, че вашият DAO е обвит в транзакция (например с помощта на прехващачите на Spring за транзакции). Тогава и за двете повиквания ще се използва същата връзка.
Още по-добре би било транзакциите да са едно ниво по-високо, на ниво услуга.
Документация:http://static .springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html
Актуализация: Ако погледнете JavaDoc на DataSourceUtils.getConnection()
метод, който сте посочили във вашата актуализация, ще видите, че той получава връзката, свързана с текущата нишка:
Според това трябва да работи така, както сте го настроили. Използвал съм този модел много пъти и никога не съм срещал проблеми, както описахте...
Моля, разгледайте и тази тема, някой се занимаваше с подобни проблеми там:Декларативни транзакции на Spring Jdbc са създадени, но не правят нищо