[英]CriteriaBuilder IN
An error occurred while executing this code: 执行此代码时发生错误:
public Iterable<T> findAllByIds(List<Integer> ids) {
Path<Integer> idField = root.get("id");
Predicate in = idField.in(ids);
query.select(root);
query.where(in);
query.orderBy(builder.asc(idField));
List<T> result = entityManager.createQuery(query).getResultList();
return result;
}
In line 2 the following exception is thrown: 在第2行中,引发以下异常:
Caused by: java.lang.IllegalArgumentException: Unaware how to convert value [[100, 101] : java.util.Arrays$ArrayList] to requested type [java.lang.Integer] 原因:java.lang.IllegalArgumentException:不知道如何将值[[100,101]转换为java.util.Arrays $ ArrayList]转换为请求的类型[java.lang.Integer]
Hibernate version 5.2.11.Final, Java 8. Hibernate版本5.2.11.Final,Java 8。
Try this :- 尝试这个 :-
public Iterable<T> findAllByIds(List<Integer> ids) {
Expression<Integer> exp = root.get("id");
Predicate in = exp.in(ids);
query.select(root);
query.where(in);
query.orderBy(builder.asc(root.get("id")));
List<T> result = entityManager.createQuery(query).getResultList();
return result;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.