У меня есть репозиторий с собственной реализацией Specification
с методом toPredicate
в качестве конструкции основного запроса, и я пытаюсь добавить выражение order by
:
public Predicate toPredicate(@NotNull Root<Strategy> root,
@NotNull CriteriaQuery<?> query,
@NotNull CriteriaBuilder builder) {
Predicate predicate = builder.conjunction();
List<Expression<Boolean>> exps = predicate.getExpressions();
... adding different expressions to exps.add(...)
// I get an id for descending sort due to Postgres just increment it.
Order orderBy = builder.desc(root.get("id"));
Expression<?> expression = orderBy.getExpression();
// Problem here.
exps.add(expression);
return predicate;
}
Выражение из orderBy.getExpression()
равно <?>
generi c, но в списке оригинальных выражений ожидается тип <Boolean>
. Как их соединить?