toPredicate方法中的CriteraQuery无法正常工作

时间:2019-11-13 00:26:09

标签: spring spring-boot spring-data-jpa

我想使用下面的多个where子句从数据库中仅获取select列,这是我的简单实现。正在获取结果,但正在获取所有列的数据,而不是仅获取我请求的 fileName 列的数据。

List<ImageSiloVO> queryResult = imageSiloRepo.findAll(new Specification<ImageSiloVO>() {

                @Override
                public Predicate toPredicate(Root<ImageSiloVO> root, CriteriaQuery<?>query, CriteriaBuilder criteriaBuilder) {
                    query.select(root.get("fileName"));
                    List<Predicate> predicates = new ArrayList<>();
                    if(StringUtils.isNoneBlank(imageSiloVO.getEntryNumber())) {
                        predicates.add(criteriaBuilder.and(criteriaBuilder.equal(root.get("entryNumber"), imageSiloVO.getEntryNumber())));  
                    }
                    return criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()]));
                }
            });

0 个答案:

没有答案