Digamos que tengo un código como este:
let connection; let preparedStatement; connection = createConnectionSomehow(); connection.setAutoCommit(false); preparedStatement = connection.prepareStatement(query1); preparedStatement.executeUpdate(); preparedStatement = connection.prepareStatement(query2); preparedStatement.executeUpdate(); connection.commit();¿Se ejecutarán ambas consultas o la segunda consulta sobrescribirá la primera?
En resumen, ambas consultas se ejecutarán como una sola operación atómica cuando la confirmación automática sea falsa y solo se confirme al final. Esto sucederá en el orden en que los emita normalmente, pero puede depender de la base de datos que esté utilizando.
Eso debería ser bastante fácil de verificar si ejecuta el código comentando las operaciones o actualizando el mismo registro con ambas consultas.
Connection getConnection() throws SQLException { Connection con = ... // create the connection con.setAutoCommit(false); return con;}
setAutoCommit (falso) llame aquí para que las personas que llaman a este método nunca tengan que preocuparse por configurarlo.