Sorry Pinaki - not done with me yet.... My intention was to audit log the whole object (serialized though) but the method:
*SaveFieldManager.getState()* returns an object where only the changed fields are initialized (seems like it anyway). Is there a way I can get hold of the whole object (the previous version of the object that is)? /Bengt 2011/7/14 Bengt Rodehav <be...@rodehav.com> > Pinaki, > > Thanks for your very insightful post. It feels like this is the way to go > then. I'll stick with this approach for now and try to follow the > development of JPA and OpenJPA. > > Thanks for your help, > > /Bengt > > > 2011/7/14 Pinaki Poddar <ppod...@apache.org> > >> Jim, >> I was making generic statements about audit and was not meant to address >> the specific approach you might have taken to suit your needs. I will take >> a >> closer look at the approach you have come up with. >> >> About 'delta computation', however, I find OpenJPA provides strong >> feature >> via its SavePointManager and restore facility. The advantage is that >> leaves >> the callback listeners stateless. Also, the managed entity knows which >> fields have been modified/dirtied -- which is essential to any delta >> computation. >> >> Bengt, >> Good to know you have made it working. >> >> Now the question/concern about spec-compliance what is permissible in >> @PreUpdate >> >> a) JPA spec so far have discouraged entity modification in callbacks. >> Specifically, >> JPA 2.0 spec does not allow access to EntityManager and modification of >> existing relations. These restrictions stem from the concern to maintain >> the >> referential and transactional integrity of the unit of work. But as the >> footnote in page 93 (Section 3.5) mentions, the idea is to make this area >> of >> the spec more standardized in future. >> As the spec moves forward, we expect that new entity creation in @Pre- >> callbacks are likely to be supported. Changing existing relations may not. >> You are welcome to contribute your views to the JSR-318 mailing group. >> >> b) Access to entity manager is quite likely to be standardized in future >> version of the spec. In expert group for version 2.1, we have seen several >> requests on this aspect. >> >> So the broad approach for audit/change tracking via callback listeners, >> that we have been discussing in this thread, is aligned with the evolution >> of JPA specification. You are not taking a non-kosher approach. >> >> >> >> ----- >> Pinaki Poddar >> Chair, Apache OpenJPA Project >> -- >> View this message in context: >> http://openjpa.208410.n2.nabble.com/Audit-log-with-OpenJPA-tp6557932p6583813.html >> Sent from the OpenJPA Users mailing list archive at Nabble.com. >> > >