0

我正在尝试将 Spring JPA 与 Envers 一起使用来跟踪所有实体的审计跟踪,以便我们可以回到某个时间点并检查实体的内容。我可以使用 spring-jpa-envers api 提供的基本功能,例如查找 a/ll 修订版。

但是是否有可能:

  1. 查询带有过滤器的修订,即应用实体字段的过滤器?我想我们可以在修订返回后应用过滤器,但最好从某个时间点找到修订

  2. 更新特定版本?以防我们过去有错误的修订并想要更正它。

问候非盟

4

1 回答 1

2

经过一番谷歌搜索找到了答案:

    Session session = (Session) entityManager.unwrap(Session.class);

    AuditReader auditReader = AuditReaderFactory.get(session);

    AuditQuery auditQuery = auditReader.createQuery().forRevisionsOfEntity(Country.class, true, false);
    List<Country> resultList = auditQuery.add(AuditEntity.property("name").eq("Daenemark")).getResultList();
    assertThat(resultList.size(), is(greaterThan(0)));
于 2014-08-07T01:53:42.863 回答