Envers необязательные предикаты

У меня есть запрос envers для просмотра истории данного объекта, я пытаюсь использовать предикаты, если они указаны в запросе.

Например, я хотел бы иметь возможность фильтровать по дате / пользователю / типу редакции и т. Д. (Или комбинации полей) на основе отправленного запроса.

Я знаю, как добавлять предикаты, мне просто интересно, есть ли значение по умолчанию, которое я могу использовать, если параметр (например, fromDate) не указан, и поэтому следующая строка игнорируется.

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

person Mark Brown    schedule 20.10.2016    source источник


Ответы (1)


Из дальнейшего чтения я обнаружил, что решение похоже на этот ответ; https://stackoverflow.com/a/2439958/7030856

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();
person Mark Brown    schedule 20.10.2016