gpt4 book ai didi

java - 如何使用 spring data jpa 将审计行添加到审计表

转载 作者:行者123 更新时间:2023-12-02 08:52:49 25 4
gpt4 key购买 nike

我随时都有一个“用户”表,如果插入、更新或删除了一行,那么我需要在“user_audit”表中插入一行,其中包含所有用户数据和操作列,以记录所执行的操作。

我正在使用Spring Batch、Spring Data JPA向用户表中插入数据

我如何使用 Spring Data JPA 在 Spring Batch 中实现此功能,或者 JPA/Hibernate 是否提供了任何实现?

最佳答案

如果您使用 Hibernate,您可以使用 Envers其中提供:

  • Auditing of all mappings defined by the JPA specification

  • Auditing some Hibernate mappings that extend JPA, e.g. custom types and collections/maps of "simple" types like Strings, Integers.

  • Logging data for each revision using a "revision entity"

  • Querying historical snapshots of an entity and its associations

但是,Envers 只会审核源自 Hibernate 的更改。

例如,如果您使用 JPA native 查询或 JDBC API,这些更改将不会被审核。这就是为什么定义执行审计的数据库触发器通常更安全。 Herehere是 PostgreSQL 示例。

关于java - 如何使用 spring data jpa 将审计行添加到审计表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com