Pastikan DAO Anda terbungkus dalam transaksi (misalnya dengan menggunakan Interceptors Spring untuk Transaksi). Sambungan yang sama kemudian akan digunakan untuk kedua panggilan.
Lebih baik lagi jika transaksi satu tingkat lebih tinggi, pada lapisan layanan.
Dokumentasi:http://static .springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html
Pembaruan: Jika Anda melihat JavaDoc dari DataSourceUtils.getConnection()
metode yang Anda rujuk dalam pembaruan Anda, Anda akan melihat bahwa itu memperoleh koneksi yang terkait dengan utas saat ini:
Menurut ini, itu harus berfungsi seperti Anda telah mengaturnya. Saya telah menggunakan pola ini berkali-kali, dan tidak pernah mengalami masalah seperti yang Anda jelaskan...
Silakan lihat juga utas ini, seseorang menghadapi masalah serupa di sana:Transaksi deklaratif Spring Jdbc dibuat tetapi tidak melakukan apa-apa