2011-06-23 3 views
6

J'utilise JPA & Spring-Data JPA dans un projet. J'ai une table où insérer et mettre à jour les données. Cependant, j'ai besoin des informations d'audit pour sauvegarder l'état de tous les objets, c'est-à-dire que j'ai besoin d'informations d'état d'insert et de toutes les mises à jour ultérieures dans une autre table. Je sais que je peux utiliser des déclencheurs dans la base de données pour le faire. Cependant, cela peut-il être fait en utilisant JPA/Spring Data JPA?Comment utiliser l'audit dans l'APP JPA/Spring-Data?

Toute aide serait appréciée.

Répondre

6

spec JPA (section 3.5) définit les méthodes de rappel de cycle de vie:

  • PrePersist
  • postPersist
  • preremove
  • postremove
  • PreUpdate
  • postUpdate
  • postprandiale

qui sont probablement la chose la plus proche que vous trouverez en JPA pur. SpringData lui-même a d'autres capacités d'audit qui sont à un niveau légèrement supérieur d'abstraction. Il les décrit dans la section 2.4 du reference manual.

+0

Bien que la spécification JPA vous permettra de le faire, les données Spring Jpa a un mécanisme très lisse construit en pour faire juste ceci: http://static.springsource.org/spring-data/data-jpa/docs/curren t/reference/html/# jpa.auditing – bh5k

1
+0

J'ai vu les liens ci-dessus et ils spécifient la fonction historique peut être utilisé dans JPA mais j'ai vu des liens de seulement TOPLINK et ECLIPSELINK. Toute idée si elle peut être utilisée avec Hibernate aussi? – Abhishek