sql >> Base de Datos >  >> RDS >> Oracle

Hibernate guarda datos obsoletos con hibernate.jdbc.batch_versioned_data

El controlador de Oracle debe devolver el recuento de filas correcto. Me sorprendería si este no es el caso. ¿Pudiste confirmar que los resultados del controlador son correctos? Puedes activar el registro de Hibernate para verificar esto.

Un par de cosas para comprobar:

  1. Registre el SQL real que se envía a la base de datos y verifique que la columna de versión se mencione en la cláusula where. No estoy seguro de si Hibernate registra los SQL con el procesamiento por lotes activado, es posible que deba recurrir a una forma diferente de registrar los SQL (por ejemplo, p6spy)

  2. Si los recuentos de filas se devuelven correctamente durante las actualizaciones simultáneas, la aplicación funciona correctamente. Confirme esto comprobando que los valores de la columna de versión se actualizan corregidos.

Actualizar De acuerdo con el siguiente enlace, este problema estuvo presente con el controlador de Oracle hasta la versión 11g y se solucionó en la versión 12c

https://hibernate.atlassian.net/browse/HHH-3360

Para versiones anteriores de Oracle, hay información adicional que debería ser útil, es decir, se proporciona una solución personalizada.

Recursos adicionales:https://hibernate.atlassian.net/browse/HHH-5070