2011-06-23 55 views
6

Estoy usando JPA & Spring-Data JPA en un proyecto. Tengo una tabla donde Insertar y luego actualizar los datos. Sin embargo, necesito la información de auditoría para guardar el estado de todos los objetos, es decir, necesito información de estado de la inserción y todas las actualizaciones posteriores en otra tabla. Sé que puedo usar activadores en la base de datos para hacer esto. Sin embargo, ¿se puede hacer esto utilizando JPA/Spring Data JPA?¿Cómo utilizar la auditoría en JPA/Spring-Data JPA?

Cualquier ayuda sería apreciada.

Respuesta

6

spec JPA (section 3.5) define los métodos de devolución de llamada de ciclo de vida:

  • PrePersist
  • PostPersist
  • preRemove
  • postremove
  • PreUpdate
  • PostUpdate
  • postLoad

que probablemente sean lo más parecido que encontrará en JPA puro. SpringData tiene más capacidades de auditoría que se encuentran en un nivel de abstracción un poco más alto. Describe estos en la sección 2.4 del reference manual.

+0

Aunque la especificación JPA le permitirá hacer esto, Primavera de datos Jpa tiene un mecanismo muy elegante construida en para hacer solo esto: http://static.springsource.org/spring-data/data-jpa/docs/curren t/reference/html/# jpa.auditing – bh5k

1
+0

Vi los enlaces anteriores y ellos especifican que la característica de historial se puede usar en JPA, pero vi enlaces de TOPLINK y ECLIPSELINK únicamente. ¿Alguna idea de si se puede usar con Hibernate también? – Abhishek

Cuestiones relacionadas