Аудирование - очень важная часть любой системы. Под аудированием мы в данном конкретном случае понимаем сохранение информации о изменениях в базе данных. Каждому изменению присваивается свой номер, своя ревизия. В этом нам поможет замечательный модуль Envers, который помимо простого и удобного сохранения, позволяет еще и довольно удобно в дальнейшем обращаться к сохраненным данным.
Код на github - https://github.com/linsolas/devoxx-en...
Ролик автора кода с github - • Easy Entity Auditing with Hibernate E...
Документация - https://docs.jboss.org/envers/docs/
https://hibernate.org/orm/envers/