Envers 可选谓词

Envers optional predicates

我有一个 envers 查询来查找给定实体的历史,我想做的是使用请求中指定的谓词。

例如,我希望能够根据发送的请求按 date/user/revision 类型等(或字段组合)进行过滤。

我知道如何添加谓词,我只是想知道如果未指定参数(例如 fromDate)是否可以使用默认值,因此忽略以下行。

.add(AuditEntity.revisionProperty("date").ge(fromDate))

通过进一步阅读,我发现解决方案与此答案类似;

AuditReader reader = AuditReaderFactory.get(entityManager);
AuditQuery query = reader.createQuery().forRevisionsOfEntity(cls, true, true);
if (fromDate!= null) {
    query.add(AuditEntity.revisionProperty("date").ge(fromDate))
}
// Etc
List<Object[]> changes = query.getResultList();