Hibernate的Envers是准用于在数据库中国审计日志和保持数据多版本的Hibernate套件项目
启用Envers后,当在应用程序的主表中添加、修改和删除数据时,就会在单独的数据库表中自动存储数据的副本
Envers会侦听Hibernate事件,并且当Hibernate在数据库中存储变更时,Envers会在其专用的表中创建数据的副本和记录一个版本
Envers会将工作单元中(即事务中的所有数据)修改分组为具有一个版本号的修改集。
可以使用Envers API编写查询以检索指定版本号或时间戳的历史数据
1.依赖
Envers依赖是独立的,没有在Hibernate-core中,如:
compile group: 'org.hibernate', name: 'hibernate-envers', version: '5.4.12.Final'
2.配置
有一些Hibernate属性用于配置Envers的行为,下面是JPA中的基本配置:
<!-- audit持久化单元 -->
<persistence-unit name="czy.demo.jpa.hibernate.audit" transaction