I need to maintain history of modifications to data in my database. The modifications will not be very common so it seems OK to store the entire row instead of just diffs which would be more efficient in terms of space. Hibernate envers seems like a decent solution.
Now I notice that Audit table is more like a shadow table which will store the data on the first insert itself. Is it possible to prevent envers from storing the audit information until the first update is made. I just want to reduce the disk footprint of database since I may not be running on a very high performance server. I want the actual table to contain the most recent data and the Audit table to contain historical data only not the current row. I am not using any specific configuration in my persistence.xml. Hibernate 4.1 seems to find the classes for Auditing with annotations. I think I should be dealing with the post insert listeners but not sure exactly what I should do with it.