Piense en Hibernate como un gran caché que puede use una base de datos como una "tienda" donde pone cosas que ya no encajan en el caché. Hibernate no descargará todo en la base de datos a medida que lo cambie, esperará. Lo más probable es que pueda cambiar más de un solo campo en un objeto.
Por lo tanto, debe vaciar la sesión (em.flush()
), o debe ejecutar una consulta, o debe confirmar la transacción actual (no es una opción fácil cuando se usa Spring).