#java #spring #querydsl #predicate
#java #spring #querydsl #предикат
Вопрос:
Имея следующий класс запроса, получающий :
public class WRequest{
Integer Id
String name;
List<Integer> RelatedIds;
}
Я пытаюсь создать предикат QueryDSL, чтобы передать его в метод spring data findAll():
BooleanBuilder builder = new BooleanBuilder();
Optional.ofNullable(wrequest.getId())
.map(QWRequest.wrequest.id::eq).ifPresent(builder::and);
Optional.ofNullable(wrequest.getName())
.map(QWRequest.wrequest.name::eq).ifPresent(builder::and);
Приведенный выше фрагмент кода работает только для параметров String / Integer, однако я не могу создать предикат для включения в результаты любого из значений в списке RelatedIds . Как создать предикат QueryDSL из объекта, который имеет поле списка?
Класс QWRequest — это автоматически созданный тип запроса QueryDSL из для класса Wrequest.
Комментарии:
1. Вопрос немного расплывчатый, но, возможно, вы имеете в виду
.map(QWRequest.wrequest.relatedIds.any()::eq)
? Или, может.map(QWRequest.wrequest.relatedIds::contains)
быть?