spring jpa查询问题
@Test
public void test(){
System.out.println("Start testing");
Specification<TOrder> specification = new Specification<TOrder>() {
@Override
public Predicate toPredicate(Root<TOrder> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> predicateList = new ArrayList<>();
Predicate orderNo = cb.equal(root.get("orderNo").as(String.class), "1001");
Predicate payStatusLike = cb.like(root.get("payStatus"), "已支付");
Predicate orderNoIsNotEmpty = cb.isNotEmpty(root.get("orderNo"));
Predicate[] pre = new Predicate[predicateList.size()];
//predicateList.add(orderNo);
//predicateList.add(payStatusLike);
predicateList.add(orderNoIsNotEmpty);
//query.where(predicateList.toArray(pre));
//return query.getRestriction();
return cb.and(predicateList.toArray(pre));
}
};
List<TOrder> orders = tOrderDao2.findAll(specification);
System.out.println(JSONValue.toJSONString(orders));
}
运行报一下错误:
org.springframework.dao.InvalidDataAccessApiUsageException: unknown collection expression type [org.hibernate.jpa.criteria.path.SingularAttributePath]; nested exception is java.lang.IllegalArgumentException: unknown collection expression type [org.hibernate.jpa.criteria.path.SingularAttributePath]
搞了半天也没出来
cb.isNotEmpty(root.get("orderNo"));
这个参数该怎么传 ?