Oracle
 sql >> Database >  >> RDS >> Oracle

Comportamento automatico predefinito della connessione JDBC

Dalla documentazione di Oracle JDBC:

Quando viene creata una connessione, è in modalità di commit automatico. Ciò significa che ogni singola istruzione SQL viene trattata come una transazione e viene automaticamente salvata subito dopo l'esecuzione. (Per essere più precisi, l'impostazione predefinita prevede che un'istruzione SQL venga salvata quando viene completata, non quando viene eseguita. Un'istruzione viene completata quando tutti i suoi set di risultati e il conteggio degli aggiornamenti sono stati recuperati . In quasi tutti i casi, tuttavia, un'istruzione viene completata, e quindi confermata, subito dopo essere stata eseguita.)

L'altra cosa è - hai omesso i dettagli di creazione della connessione, quindi sto solo indovinando - se stai usando alcuni framework o acquisendo una connessione da un'origine dati o da un pool di connessioni, autocommit potrebbe essere off da quei framework/pool/datasources - la soluzione è non fidarsi mai delle impostazioni predefinite;-)