我正在使用SpringBoot 2.2.6
withJPA
并且我需要使用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()));
}
}
wherecriteria.getValue()
是一个Integer[]
数组,但它不起作用。你能帮助我吗?
谢谢你们。
更新
如果我尝试同样Query
的方法,List<String>
它会起作用!使用整数我有这个错误:
Unaware how to convert value [[2, 3, 4, 5] : java.util.ArrayList] to requested type [java.lang.Integer]