De la documentación de Oracle JDBC:
Cuando se crea una conexión, está en modo de confirmación automática. Esto significa que cada instrucción SQL individual se trata como una transacción y se confirma automáticamente justo después de ejecutarse. (Para ser más precisos, el valor predeterminado es que una instrucción SQL se confirme cuando se completa, no cuando se ejecuta. Una instrucción se completa cuando se han recuperado todos sus conjuntos de resultados y recuentos de actualizaciones . Sin embargo, en casi todos los casos, una declaración se completa y, por lo tanto, se confirma inmediatamente después de ejecutarla).
La otra cosa es que omitió los detalles de creación de la conexión, así que solo supongo que si está usando algunos marcos o adquiriendo una conexión de una fuente de datos o un grupo de conexiones, el autocommit
se puede desactivar off
por esos marcos/grupos/fuentes de datos:la solución es nunca confiar en la configuración predeterminada;-)