.storeLocked() works very nicely :). So simple, just add 6 letters and suddenly a whole better level of data integrity :)

I was planning on implementing the audit trail through a JOOQ listener. I'm not sure how yet (Like you said with complex data it becomes... complex), but at least I can listen for all data changes and then handle the audit trail in a single spot rather than through a bunch of DAOs.

The other thing I am thinking about to pre-empt the optimistic locking is an automatic change detection (through the form of a periodic refresh, or perhaps a listener, but that wouldn't detect non-jooq updates or work in a cluster or anything). But that is probably getting too application specific to be part of JOOQ.

In any case I'll let you know if I come up with some nice JOOQ extentions.

Thanks for your great work.



On 15/07/2012 9:11 PM, Lukas Eder wrote:
I hadn't really thought about deleting yet (I'm deciding what kind of audit
trail approach to take, whether to mark a record as deleted or actually
delete and copy to some kind of audit log).
I had thought about this many times. Audit trails / data history is
something that is done very frequently. It leads to a big amount of
boilerplate, especially when complex data (i.e. normalised data across
several relations) needs historisation.

I wonder if this is something that could be handled by jOOQ - or if
this goes too far into implementation-specific stuff. I'd be
interested if you could share your experience, once you have decided
which approach to take...

But it would round off the
feature, so I think that would be good to include.
Done.


Reply via email to