Documents the strategy for managing auditing and revision history.


Every authoring environment needs a mechanism to track changes. The mapping tool makes use of an extension to the JPA framework that performs automatic auditing of all changes to JPA managed objects through Hibernate Envers.

The simple addition of an @Audited annotation allows any audited object (and its connected graph) to have its changes tracked through time.  Some features include

For each @Audited object, there is a correspoinding _AUD table in the database that tracks the older states.  A revision number and revision type are also tracked in this table. These tables can be indexed for faster retrieval and can be directly queried for reporting purposes.

For each type of object in the Domain Model, the following classes are audited: