Analyzed about 2 months ago
The Envers project makes it simple to version entities. The only thing required is annotating them with @Versioned. Storing historical data (versions) is completely transparent to the developer. He/she may interact with the entities as always.
Not only basic properties of an entity can be
... [More]
versioned, but also relations, making it possible to view parts of the database as they were at a given revision (each revision has an associated timestamp, one revision = one transaction, in which versioned data has changed).
Moreover, Envers provides a straightforward interface for retrieving historical data, a criteria-like query interface, and the possibility to store additional information alongside each revision.
Envers works with Hibernate and Hibernate Entity Manager. [Less]
22K
lines of code
0
current contributors
over 16 years
since last commit
7
users on Open Hub