【问题标题】:Hibernate envers get deleted row dataHibernate envers 获取已删除的行数据
【发布时间】:2019-08-13 14:29:54
【问题描述】:

在我的应用程序中,我需要显示删除了哪些行。 我需要查找特定类的已删除行详细信息。

到目前为止,我得到了一个返回已删除实体 ID 的查询,如何获取所有实体字段?

final AuditQuery query = auditReader.createQuery().forRevisionsOfEntity(Partner.class, false, true);
query.add(AuditEntity.revisionType().eq(RevisionType.DEL));
final List<?> results = query.getResultList();

【问题讨论】:

    标签: hibernate hibernate-envers


    【解决方案1】:

    您的查询是您想要的,但问题是默认情况下,Envers 不会在删除记录时捕获实体的状态。默认捕获的唯一信息是实体的修订、修订类型和主键值。

    您需要在休眠配置中将org.hibernate.envers.store_data_at_delete 设置为true,这样它不仅可以存储我上面提到的实体的值,还可以存储所有审计字段。这将允许您使用的查询返回一个实体实例,其中所有审计字段都根据删除前实体的外观填充。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-23
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 2021-04-06
      • 2020-01-26
      • 1970-01-01
      • 2014-07-02
      相关资源
      最近更新 更多