openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Thompson <>
Subject Re: Audit log with OpenJPA
Date Thu, 07 Jul 2011 15:15:47 GMT
You might take a look at how hades
( does
something close to what you're describing.  Or


On Thu, 2011-07-07 at 15:35 +0100, David Goodenough wrote: 
> On Thursday 07 Jul 2011, Bengt Rodehav wrote:
> > I'm using OpenJPA for persistence and would like to audit log any changes
> > made to my entities. I serialize the objects to JSON (with Gson) and store
> > them in a separate table in the database. Since the audit log needs to have
> > the correct id's, the audit logging must take place after the entity has
> > been persisted.
> > 
> > I was hoping I could use the @PostPersist and @PostUpdate life cycle
> > callbacks for this. I do seem to have the right information available and
> > the serialization works fine but I don't know how I can persist my audit
> > log entries at this point. From what I've read, I'm not allowed to use the
> > entity manager in a "Post" lifecycle callback which of course makes this
> > hard.
> > 
> > What do you recommend? Is there a good place in JPA/OpenJPA where I
> > automatically can trigger the storing of an audit log entry as described
> > above. Of course I can move this logic up from the persistence layer to a
> > place where I can first have the entity manager persist my entity and then
> > explicitly call another service to do the audit log. However, this is a
> > pretty general mechanism that I would like to have automatic support for in
> > my framework which is why I would like to have it pushed down into the
> > persistence layer.
> > 
> > Any ideas?
> > 
> > /Bengt
> You could of course cheat.
> While you can not access the entiry manager, there is nothing to stop you
> using JDBC.  It would probably not be a good idea to access a table that
> JPA is using, but if this audit trail is write only for this app and only
> read elsewhere that would solve the problem.
> David

View raw message