2.3. Transacciones
2.3. Transacciones Carlos 25 Noviembre, 2009 - 10:38La API JDBC incluye soporte para transacciones, de forma que se pueda deshacer un conjunto de operaciones relacionadas en caso necesario. Este compor- tamiento es responsabilidad de la clase Connection.
Por omisión, cada sentencia se ejecuta en el momento en que se solicita y no se puede deshacer. Podemos cambiar este comportamiento con la operación siguiente:
conexion.setAutoCommit(false);
Después de esta operación, es necesario llamar a commit() para que todas las sentencias SQL pendientes se hagan definitivas:
sentencia.executeUpdate(...);
...
sentencia.executeUpdate(...);
...
conexion.commit(); // Se hacen permanentes las dos actualizaciones anteriores
En caso contrario, desharemos todas las actualizaciones después del último commit():
sentencia.executeUpdate(...);
...
sentencia.executeUpdate(...);
...
sentencia.executeUpdate(...);
...
conexion.rollback(); // Cancela las tres últimas actualizaciones