Описание тега hibernate-envers

Hibernate Envers - это базовый модуль инфраструктуры Hibernate, который обеспечивает простой аудит объектов и отслеживание изменений с помощью аннотаций и простых шагов настройки.

Hibernate Envers - это основной модуль Hibernate.

Envers обеспечивает простой аудит сущностей и отслеживание изменений с помощью аннотаций Java, чтобы влиять на то, что будет отслеживаться слушателями управления изменениями. Модуль позволяет вам сохранять исторические изменения (операции CRUD), сделанные на ваших постоянных объектах, в специальных таблицах аудита, которые создаются Envers автоматически.

Официальный сайт:
http://hibernate.org/orm/envers/

Чтобы воспользоваться преимуществами Hibernate Envers, вам сначала нужно добавить зависимость. Вам просто нужно настроить зависимость следующим образом:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-envers</artifactId>
  <version>5.2.8.Final</version>
</dependency>

Важно помнить, что версия Envers, которую вы должны использовать, должна соответствовать той же версии Hibernate, которую использует ваше приложение.

Простой пример

@Entity
@Audited
public class Person {
  @Id
  private Integer id;
  private String name;
  private Date dateOfBirth;
  // getter/setters
}

Руководства и учебники: