Aus der Oracle JDBC-Dokumentation:
Wenn eine Verbindung erstellt wird, befindet sie sich im Autocommit-Modus. Das bedeutet, dass jede einzelne SQL-Anweisung als Transaktion behandelt und direkt nach ihrer Ausführung automatisch festgeschrieben wird. (Um genauer zu sein, standardmäßig wird eine SQL-Anweisung festgeschrieben, wenn sie abgeschlossen ist, nicht wenn sie ausgeführt wird. Eine Anweisung ist abgeschlossen, wenn alle ihre Ergebnismengen und Aktualisierungszähler abgerufen wurden . In fast allen Fällen wird eine Anweisung jedoch unmittelbar nach ihrer Ausführung abgeschlossen und daher festgeschrieben.)
Die andere Sache ist - Sie haben die Verbindungserstellungsdetails ausgelassen, also vermute ich nur - wenn Sie einige Frameworks verwenden oder eine Verbindung von einer Datenquelle oder einem Verbindungspool erwerben, das autocommit
kann off
werden durch diese Frameworks/Pools/Datenquellen - die Lösung ist, niemals auf Standardeinstellungen zu vertrauen;-)