Я пытаюсь создать сложную логику фильтрации с помощью Spring Boot, JPA и Predicates.В конце я хочу вызвать мой репозиторий со спецификацией, например myRepository.findAll (спецификация).Спецификация будет содержать все предикаты для моей логики фильтрации.Теперь мне нужно создать один предикат с помощью функции базы данных (это postgres db).Функция есть и работает, для этого требуется один параметр.Моя проблема заключается в том, как связать этот параметр с предикатом.
Код, который я написал до сих пор, выглядит следующим образом:
private static <T> Predicate createIssuesCountPredicate(CriteriaBuilder cb, Constraint constraint) {
Integer inputParameter = ...; //getting the input parameter
Expression<List> expression = cb.function("issue_count", List.class, cb.parameter(Integer.class, "input")); // note that the function returns a list
return cb.in(expression);
}
Это не работает, поскольку inputParameter не привязан кпредикат.Обычно вы делаете это в запросе, но у меня нет запроса здесь.Кто-нибудь знает, как я могу связать параметр с предикатом?Заранее спасибо!Matthias