1

我在我的一个项目中使用Hibernate envers。它的工作非常好,并完成这项工作。Hibernate Envers如何工作?

我想了解envers的内部工作机制。

  1. envers如何在内部工作?

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

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

回答

2
  1. 它使用Hibernate Event system拦截所有entity state transitions和进行审计。
  2. 数据库事务将回滚,并且实际更改和审计日志都会回滚。
  3. 否。Envers是一个同步审计日志记录机制。对于异步审计日志记录,您需要使用Debezium

如果您要使用Envers,请确保您使用的是validity audit strategy,因为它的性能比默认的要好。

+0

谢谢弗拉德。感谢帮助。 –