【问题标题】:How to add audit row to audit table using spring data jpa如何使用spring data jpa将审计行添加到审计表
【发布时间】:2020-03-13 18:02:17
【问题描述】:

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

我正在使用spring batch,spring data JPA向用户表插入数据

我如何使用 Spring Data JPA 在 Spring Batch 中实现这一点,或者 JPA/hibernate 是否提供了任何实现?

【问题讨论】:

标签: java spring hibernate spring-boot spring-data-jpa


【解决方案1】:

如果你使用 Hibernate,你可以使用Envers,它提供:

  • 审核 JPA 规范定义的所有映射

  • 审核一些扩展 JPA 的 Hibernate 映射,例如自定义类型和“简单”类型的集合/映射,如字符串、整数。

  • 使用“修订实体”记录每个修订的数据

  • 查询实体及其关联的历史快照

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2015-01-20
    • 2017-07-09
    • 2019-08-08
    • 1970-01-01
    • 2017-05-22
    • 2019-11-17
    相关资源
    最近更新 更多