Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/11/2008, 09:50
Avatar de Xinef
Xinef
 
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 6 meses
Puntos: 7
Respuesta: Sincronizacion/Concurrencia BD desde Java. Ayuda!

Utiliza un campo timestamp en la tabla que quieras proteger.

Cuando un usuario edite un registro, recoge ese timestamp y mantenlo durante toda la sesión, cuando vayas a actualizar el registro (UPDATE) hazlo comparando el tiempo que "tienes" con el que está en la BD.

En ese momento puede ocurrir dos cosas:

1) Que la fecha sea igual o superior (el superior no se debería dar nunca, pero lo dejamos por si queremos ampliar el rango). En ese caso se actualizará el registro y el timestamp con la fecha-hora de la actualización.

2) Que la fecha sea inferior. En ese caso alguien ha actualizado el registro antes que nosotros y nuestros datos no son "correcto". Avisamos al usuario de tal cosa permitiendole actualizar los datos.