Dari dokumentasi Oracle JDBC:
Saat koneksi dibuat, koneksi berada dalam mode komit otomatis. Ini berarti bahwa setiap pernyataan SQL individu diperlakukan sebagai transaksi dan secara otomatis dilakukan tepat setelah dijalankan. (Untuk lebih tepatnya, defaultnya adalah untuk pernyataan SQL yang akan dilakukan ketika selesai, bukan ketika dijalankan. Pernyataan selesai ketika semua set hasil dan jumlah pembaruan telah diambil . Dalam hampir semua kasus, bagaimanapun, sebuah pernyataan selesai, dan karena itu dilakukan, tepat setelah dieksekusi.)
Hal lainnya adalah - Anda menghilangkan detail pembuatan koneksi, jadi saya hanya menebak - jika Anda menggunakan beberapa kerangka kerja, atau memperoleh koneksi dari sumber data atau kumpulan koneksi, autocommit
dapat dimatikan off
oleh kerangka kerja/kumpulan/sumber data tersebut - solusinya adalah jangan pernah percaya pada pengaturan default;-)