От документацията на Oracle JDBC:
Когато се създаде връзка, тя е в режим на автоматично записване. Това означава, че всеки отделен SQL израз се третира като транзакция и автоматично се ангажимент веднага след като бъде изпълнен. (За да бъдем по-точни, по подразбиране е SQL израз да бъде завършен, когато е завършен, а не когато се изпълни. Инструкцията е завършена, когато всичките му набори от резултати и броя на актуализациите са извлечени . В почти всички случаи обаче изявлението е завършено и следователно е ангажирано, веднага след като бъде изпълнено.)
Другото нещо е - пропуснали сте подробности за създаване на връзка, така че просто предполагам - ако използвате някакви рамки или придобивате връзка от източник на данни или пул за връзки, autocommit
може да бъде изключено off
от тези рамки/пулове/източници на данни - решението е никога да не се доверявате на настройките по подразбиране;-)