Z dokumentace Oracle JDBC:
Po vytvoření připojení je v režimu automatického potvrzení. To znamená, že každý jednotlivý příkaz SQL je považován za transakci a je automaticky potvrzen ihned po svém provedení. (Abych byl přesnější, výchozí nastavení je, že příkaz SQL se potvrdí, když je dokončen, nikoli když je proveden. Příkaz je dokončen, když jsou načteny všechny jeho sady výsledků a počty aktualizací . Téměř ve všech případech je však příkaz dokončen, a tedy potvrzen, hned po jeho provedení.)
Další věc je - vynechali jste podrobnosti o vytvoření připojení, takže jen hádám - pokud používáte nějaké rámce nebo získáváte připojení ze zdroje dat nebo fondu připojení, autocommit
může být vypnuto off
těmi frameworky/pooly/datovými zdroji – řešením je nikdy nedůvěřovat výchozímu nastavení;-)