使用Hibernate Envers进行Spring Data JPA和Spring Boot审计 [英] Spring Data JPA and Spring Boot auditing with Hibernate Envers

查看:425
本文介绍了使用Hibernate Envers进行Spring Data JPA和Spring Boot审计的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am using Spring Data JPA and Spring Boot for my project.

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

I have Audit requirement for Objects(Create/Update/Delete). I may need to get Audit revisions for particular objects too. I have checked on net that Spring Data Envers cant get revisions and doesn't track deletions?

所以我的问题是:

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

1) Can we integrate Hibernate Envers with Spring data JPA?

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

2) We have native queries, HQLs and Spring data JPA update/save/delete dynamic queries, so would Hibernate envers be able to track object for all?

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

As I am new to Auditing , please let me know about above questions.

谢谢。

推荐答案


我们可以整合吗?是Hibernate Envers与Spring数据JPA吗?

Can we integrate Hibernate envers with Spring data JPA?

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

Yes, Hibernate Envers specifically integrates directly with Hibernate ORM and since Spring Data JPA already integrates with Hibernate ORM, you get this out-of-the-box.


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

We have native queries, HQLs and Spring data JPA update/save/delete dynamic queries, so would Hibernate envers be able to track object for all?

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

As long as you're manipulating entities through the Session save/update or the EntityManager's persist/merge operations, Hibernate will raise the necessary events for Envers to track your changes.

如果您使用的是Native SQL或JPA的 CriteriaUpdate / CriteriaDelete 操作操作数据库记录,然后 no Envers将进行这些更改。这是因为Hibernate不会针对这些批量或无状态操作引发事件,从而使Envers可以审核这些更改。

If you are using Native SQL or JPA's CriteriaUpdate/CriteriaDelete operations to manipulate database records, then no Envers will not pickup those changes. That is because Hibernate will not raise an event for those bulk or stateless operations allowing Envers to audit those changes.

这篇关于使用Hibernate Envers进行Spring Data JPA和Spring Boot审计的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆