我正在为项目使用Spring Data JPA和Spring Boot。
我对对象(创建/更新/删除)有审计要求。我可能还需要获取特定对象的审核修订。我已经在网上检查过Spring Data Envers无法获得修订并且不跟踪删除?
所以我的问题是:
1)我们可以将Hibernate Envers与Spring数据JPA集成吗?
2)我们有本机查询,HQL和Spring数据JPA更新/保存/删除动态查询,因此Hibernate envers能够跟踪所有对象吗?
由于我是审核的新手,请让我知道上述问题。
谢谢。
我们可以将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可以审核这些更改。
CriteriaUpdate
CriteriaDelete