I am using JPA & Spring-Data JPA in a project. I have one table wherei Insert and then update the data. However i need the auditing information to save the state of all the objects i.e. I need state information of insert and all subsequent updates in another Table. I know I can use triggers in database to do this. However, Can this be done using JPA/Spring Data JPA?
Any help would be appreciated.
JPA spec (section 3.5) defines lifecycle callback methods:
- prePersist
- postPersist
- preRemove
- postRemove
- preUpdate
- postUpdate
- postLoad
which are probably the closest thing you will find in pure JPA. SpringData itself has further auditing capabilities which are at a slightly higher level of abstraction. It describes these in section 2.4 of the reference manual.
See,
http://en.wikibooks.org/wiki/Java_Persistence/Auditing_and_Security
http://en.wikibooks.org/wiki/Java_Persistence/Advanced_Topics#History
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Auditing
http://wiki.eclipse.org/EclipseLink/Examples/JPA/History