不使用@Query nativeQuery=true 查询、这是占位符
@Override
public Map<String, Object> queryAll(QueryCriteria criteria, Pageable pageable) {
Page<User> page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
//排除实体的某些属性,不用于查询
})}
看了下
JPA 最后还是会覆盖 root指定查询的属性,所以这种方式只能查询全部属性
protected TypedQuery<T> getQuery(Specification<T> spec, Sort sort) {
Root<T> root = applySpecificationToCriteria(spec, query);
query.select(root);
return applyRepositoryMethodMetadata(em.createQuery(query));
}