Hibernate Envers如何工作?

zea*_*ord 2 java hibernate change-data-capture hibernate-envers audit-logging

我在我的一个项目中使用Hibernate envers.它工作得非常好并且完成了这项工作.

我试图了解envers的内部工作机制.

  1. envers如何在内部工作?

  2. 当实际事务成功并且审计表更新失败时会发生什么?整个交易会被回滚吗?

  3. 是否在与提供请求的实际线程不同的线程中执行envers?或者可以吗?

Vla*_*cea 7

  1. 它使用Hibernate Event系统拦截所有实体状态转换并对其进行审计.
  2. 数据库事务将回滚,并且实际更改和审核日志都将回滚.
  3. 否.Envers是一种同步审计日志记录机制.对于异步审计日志记录,您需要使用Debezium.

如果要使用Envers,请确保使用有效性审核策略,因为它的性能优于默认策略.