Problema con transacciones
Buenos días he querido hacer que cuando un usuario hace una consulta a cierta tabla esta se bloque hasta que actualice un dato... Estoy unsando transacciones con Postgresql pero me da un error qu ees el siguiente:
org.postgresql.util.PSQLException: Cannot commit when autoCommit is enabled.
y antes de realizar la consulta y la actualización tengo colocado connection.setAutoCommit(false); pero aún asi sigue dando el error
Tengo algo así
setAutoCommit(false);
select....
update...
commit()
y al ejecutar el commit(); me manda ese error. Alguien le ha pasado? o saben algun otra forma mas optima para hacer bloqueos a una BD en consultas simultáneas?
Saludos y de antemano muchas gracias.
Begin
Hola amigo.
Podrías compartir el bloque de código que hace esta operación.
saludos.
datasource?
Estás usando un datasource? tal vez primero obtienes una conexión, le deshabilitas autocommit, y luego la devuelves y obtienes otra conexión distinta y esa es la que tiene autocommit todavía habilitado. Si estás usando un datasource debes configurarlo para tener autocommit deshabilitado.
O puedes usar alguna solución que se encargue de todo el manejo de las conexiones y no tengas que lidiar con eso tú, por ejemplo la JdbcTemplate de Spring JDBC.
Funcionó... tenía entendido
Funcionó... tenía entendido que el setAutoCommit() iba antes de iniciar la transacción. Lo que hice fué colocarla exactamente antes de actualizar el registro y me ha funcionado.
Gracias