Spring 数据 JPA 和 Spring 使用 Hibernate Envers 进行引导审计
Spring Data JPA and Spring Boot auditing with Hibernate Envers
我正在为我的项目使用 Spring Data JPA 和 Spring Boot。
我有对象的审计要求(Create/Update/Delete)。我可能还需要对特定对象进行审核修订。
我在网上查过 Spring Data Envers 无法进行修订并且不跟踪删除?
所以我的问题是:
1) 我们可以将 Hibernate Envers 与 Spring 数据 JPA 集成吗?
2) 我们有本机查询、HQL 和 Spring 数据 JPA update/save/delete 动态查询,那么 Hibernate envers 是否能够跟踪所有对象?
由于我是审计新手,请让我知道以上问题。
谢谢。
是的,Spring Data JPA 和 Hibernate Envers 集成没有问题。它跟踪保存、更新和删除操作。
您只需在 class 上方添加 @Audited
注释。
Can we integrate Hibernate envers with Spring data JPA?
是的,Hibernate Envers 专门直接与 Hibernate ORM 集成,并且由于 Spring Data JPA 已经与 Hibernate ORM 集成,你得到这个 out-of-the-box。
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?
只要您通过 Session save/update 或 EntityManager 的 persist/merge 操作来操作实体,Hibernate 就会为 Envers 引发必要的事件以跟踪您的更改。
如果你使用NativeSQL或者JPA的CriteriaUpdate
/CriteriaDelete
操作来操作数据库记录,那么noEnvers会not 选择那些更改。这是因为 Hibernate 不会为那些允许 Envers 审核这些更改的批量或无状态操作引发事件。
这是可能的,而且很容易!
我使用这些技术做了一个示例项目:Spring boot,Spring data jpa 和 hibernate with Envers to audit some tables with relationships。
示例如下:https://github.com/jcalvopinam/example-envers
希望对你有用,如果有什么问题,请告诉我。
我正在为我的项目使用 Spring Data JPA 和 Spring Boot。
我有对象的审计要求(Create/Update/Delete)。我可能还需要对特定对象进行审核修订。 我在网上查过 Spring Data Envers 无法进行修订并且不跟踪删除?
所以我的问题是:
1) 我们可以将 Hibernate Envers 与 Spring 数据 JPA 集成吗?
2) 我们有本机查询、HQL 和 Spring 数据 JPA update/save/delete 动态查询,那么 Hibernate envers 是否能够跟踪所有对象?
由于我是审计新手,请让我知道以上问题。
谢谢。
是的,Spring Data JPA 和 Hibernate Envers 集成没有问题。它跟踪保存、更新和删除操作。
您只需在 class 上方添加 @Audited
注释。
Can we integrate Hibernate envers with Spring data JPA?
是的,Hibernate Envers 专门直接与 Hibernate ORM 集成,并且由于 Spring Data JPA 已经与 Hibernate ORM 集成,你得到这个 out-of-the-box。
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?
只要您通过 Session save/update 或 EntityManager 的 persist/merge 操作来操作实体,Hibernate 就会为 Envers 引发必要的事件以跟踪您的更改。
如果你使用NativeSQL或者JPA的CriteriaUpdate
/CriteriaDelete
操作来操作数据库记录,那么noEnvers会not 选择那些更改。这是因为 Hibernate 不会为那些允许 Envers 审核这些更改的批量或无状态操作引发事件。
这是可能的,而且很容易! 我使用这些技术做了一个示例项目:Spring boot,Spring data jpa 和 hibernate with Envers to audit some tables with relationships。
示例如下:https://github.com/jcalvopinam/example-envers
希望对你有用,如果有什么问题,请告诉我。