My object mapping that I wish to model has a non-trivial graph with subclasses (in table-per-subclass) and lazy-loaded/batch-fetched collections/associations.
If I audit this with Envers, will retrieving a versioned object still respect the lazy-loading/fetch strategy settings defined?
Can Envers cope with subclasses ok?
Can I define Hibernate mapping files and use Envers, or must I use annotations?
I don't have time to evaluate Envers (much) before deciding to take the plunge, so some reassurance of what it can do is appreciated. I've read it doesn't support bags, but that's ok.
yes, all relations are read lazily by Envers. You must use annotations, and Envers does work with subclasses.
Bags are supported, but in one special case you need an additional join table for them.