Tenemos un requisito en nuestro proyecto, donde tenemos que mantener un tipo de historial de los cambios que se realizan a ciertas entidades en la aplicación. The the application es una aplicación web de Java basada en Struts, Spring e Hibernate. ¿Qué tipo de enfoques se han utilizado en este caso?Logging Cambios de la entidad en la aplicación web Java
- Disparadores en las tablas respectivas es una idea, pero no son fáciles de mantener? y quizás tampoco deberían ser parte de las transacciones (está bien si los desencadenadores fallan, pero las transacciones de actualización de la entidad no deberían fallar).
- Utilice AoP para esto ya que es una preocupación transversal, pero tiene que ser realmente granular, como al capturar solo los valores cuando la entidad cambia. (Todas las ediciones no tienen sus correspondientes métodos diferentes ... muchas ediciones ocurren en un único método de Java).
- Utilice Hibernate Event Listeners.
¿Hay algún otro enfoque para realizar este tipo de actividad?
Gracias por la información Arthur. Para la implementación simple, estoy tratando de extender Hibernate Event Listener. –
+1, para la explicación de propósito general. – Bozho
+1 como Bozho dijo –