小编典典

使用Hibernate Envers进行Spring Data JPA和Spring Boot审计

hibernate

我正在为项目使用Spring Data JPA和Spring Boot。

我对对象(创建/更新/删除)有审计要求。我可能还需要获取特定对象的审核修订。我已经在网上检查过Spring Data
Envers无法获得修订并且不跟踪删除?

所以我的问题是:

1)我们可以将Hibernate Envers与Spring数据JPA集成吗?

2)我们有本机查询,HQL和Spring数据JPA更新/保存/删除动态查询,因此Hibernate envers能够跟踪所有对象吗?

由于我是审核的新手,请让我知道上述问题。

谢谢。


阅读 728

收藏
2020-06-20

共1个答案

小编典典

我们可以将Hibernate envers与Spring数据JPA集成吗?

是的,Hibernate Envers专门与Hibernate ORM直接集成,并且由于Spring Data JPA已经与Hibernate
ORM集成,因此您可以立即使用它。

我们有本机查询,HQL和Spring数据JPA更新/保存/删除动态查询,所以Hibernate envers能够跟踪所有对象吗?

只要您通过会话保存/更新或EntityManager的持久/合并操作来操纵实体,Hibernate就会引发必要的事件,以便Envers跟踪您的更改。

如果您正在使用本机SQL或JPA的CriteriaUpdate/ CriteriaDelete操作来操作数据库记录,则 没有 Envers会
接受 这些更改。这是因为Hibernate不会针对那些批量或无状态操作引发事件,从而使Envers可以审核这些更改。

2020-06-20