spring jpa查询问题

我是全栈架构师 我是全栈架构师 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
@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"));
这个参数该怎么传 ?
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
我是全栈架构师
Web 开发 81,108 成员 341,721 内容