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"));
这个参数该怎么传 ?
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"));
这个参数该怎么传 ?
...全文
相关推荐
使用Spring Data JPA的坑点记录总结
主要给大家总结介绍了关于使用Spring Data JPA的一些坑点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
Spring jpa和mybatis整合遇到的问题解析
有朋友说jpa相比mybatis太难用,多表联合的查询写起来也比较费劲,所以便加入了mybatis的支持,在配置jpa时遇到各种问题,需要修改相关配置文件,下面小编给大家分享下修改配置文件的思路,感兴趣的朋友参考下
wlp-spring-data-jpa-querydsl-npe:重现SO问题的示例代码
样例代码 用于重现示例代码 。
详解Spring Data Jpa 模糊查询的正确用法
本篇文章主要介绍了详解Spring Data Jpa 模糊查询的正确用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Spring Data JPA的优点和难点.pdf
1. 开发效率极⾼: 2. 成熟的语法结构: 3. 与Spring全家桶结合紧密: 4. 成熟的框架和架构 常⻅的SQL性能问题,如何优雅处理? 2. 错综复杂的关联关系如何应对? 3. 万恶的LazyException本质是什么? 4. ⾼并发⾼性能要求的API服务要⽤JPA吗?


Web 开发
