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.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de oscarblancarte

Begin

Hola amigo.
Podrías compartir el bloque de código que hace esta operación.

saludos.

Imagen de ezamudio

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