Spring toPredicate方法中的CriterQuery不工作
我想使用下面的multiplewhere子句从数据库中只获取select列,这是我的简单实现。我得到的是结果,但我得到的是所有列的数据,而不是我请求的文件名列的数据Spring toPredicate方法中的CriterQuery不工作,spring,spring-boot,spring-data-jpa,Spring,Spring Boot,Spring Data Jpa,我想使用下面的multiplewhere子句从数据库中只获取select列,这是我的简单实现。我得到的是结果,但我得到的是所有列的数据,而不是我请求的文件名列的数据 List<ImageSiloVO> queryResult = imageSiloRepo.findAll(new Specification<ImageSiloVO>() { @Override public Predicate toPred
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()]));
}
});
List queryResult=imageSiloRepo.findAll(新规范(){
@凌驾
公共谓词toPredicate(根根、CriteriaQueryquery、CriteriaBuilder CriteriaBuilder){
query.select(root.get(“文件名”);
列表谓词=新的ArrayList();
if(StringUtils.isNoneBlank(imageSiloVO.getEntryNumber()){
add(criteriaBuilder.and(criteriaBuilder.equal(root.get(“entryNumber”),imageSiloVO.getEntryNumber()));
}
返回criteriaBuilder.and(predicates.toArray(新谓词[predicates.size()]);
}
});
My query.select(root.get(“文件名”);没有任何可能的副本