Я использую SpringBoot 2.2.6
с JPA
, и мне нужно выполнить запрос с предложением IN
, как указано в заголовке. Я попробовал:
@Override
public Predicate toPredicate(Root<Distinta> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
List<Predicate> predicates = new ArrayList<>();
.....
.....
for (DistintaCriteria criteria : list) {
switch(criteria.getOperation()) {
case TEST:
Join<Entity, JoinEntity> join = root.join("joinEntity");
predicates.add(join.<Integer>get("id").in(criteria.getValue()));
}
}
, где criteria.getValue()
- это массив Integer[]
, но он не работает. Вы можете мне помочь?
Всем спасибо.
ОБНОВЛЕНИЕ
Если я попробую то же самое Query
с List<String>
, все заработает! С Integer у меня была эта ошибка:
Unaware how to convert value [[2, 3, 4, 5] : java.util.ArrayList] to requested type [java.lang.Integer]