如何解决JPA规范:如何获取选定的列?
我正在使用规范和findAll方法来检索与给定条件匹配的分页结果。
'findAll(spec,pageRequest)' method of 'org.springframework.data.jpa.repository.JpaSpecificationExecutor' interface.
我定义了以下规范。
public static <T> Specification<T> bySearchFilter(final Class<T> clazz) {
return (Root<T> root,CriteriaQuery<?> query,CriteriaBuilder builder) -> {
query.multiselect(root.get("id")).distinct(true);
List<Predicate> predicates = Lists.newArrayList();
predicates.add(builder.equal(root.get("active"),"Y"));
return builder.and(predicates.toArray(new Predicate[0]));
};
}
query.multiselect(root.get(“ id”),root.get(“ name”))。distinct(true);
以上片段给出了不同的结果,但选择了表的所有列。但是我只想要id和name列。
我在这里犯错了吗?
解决方法
您可以尝试以下代码。
Type mapType = new TypeToken<LinkedMultiValueMap<Integer,CSVModelAttributes>>(){}.getType();
attrib = new Gson().fromJson(csvModel.get().getAttributes()),mapType );
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。