【问题标题】:Hibernate Envers SQL auditingHibernate Envers SQL 审计
【发布时间】:2015-09-29 13:07:48
【问题描述】:

我想知道是否有人成功地使用 Hibernate Envers 审计了本机查询 (SQL)?我知道这可能是错误的,但它会节省我大量的重构时间。

干杯

尼克

【问题讨论】:

  • @adamw 对此有何想法?
  • 审计 SQL 查询是什么意思?
  • 我的意思是使用 SQL 执行插入(例如使用 executeUpdate())而不是 hibernate.persist/save() ...
  • 不幸的是,我认为这行不通。我试过插入/删除语句,但它们没有触发 envers 审计。
  • 这正是我的观点。我想知道是否有人已经想出了一些解决方法,因为 Envers 还没有准备好处理这个问题。

标签: sql hibernate hibernate-envers auditing


【解决方案1】:

我只想在这里留下我的想法,以便其他人在选择 Envers 时可能会受益。我们在最近的一个项目中尝试了 Hibernate envers,但没有成功。以下是原因

  1. Hibernate Envers 仅在通过持久性上下文发生更新时捕获审计信息。
  2. 我们不喜欢为每个实体创建一个审计表。架构污染过多。
  3. 我们有很多批处理作业和数据同步脚本,可以直接使用 sql 查询更新数据。在持久性上下文之外发生的任何更新都不会在这些 Hibernate ENvers 创建的审计表中捕获。

所以我们使用了只有一个 AUDIT 表的数据库触发器方法,该表将捕获 table_name、column_name、primary_key、old_value 和 new_value。它对我们有用。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2015-12-14
    • 2018-04-18
    • 2018-09-19
    • 2013-06-03
    • 2015-08-20
    • 2011-07-10
    • 2013-05-06
    • 1970-01-01
    相关资源
    最近更新 更多