具有Selection的CriteriaBuilder不允许没有构造函数

时间:2019-06-16 18:29:20

标签: java spring-boot jpa criteria-api

我有一个动态选择列表,我希望执行该列表以从表中获取特定列。但是当尝试执行代码时,出现以下错误。

org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate appropriate constructor on class
//Select fields
List<Selection<?>> selectionList = new ArrayList<>();
for(Integer fieldId: fieldIds){
     selectionList.add(recordsVORoot.get("dataAttr"+fieldId));
}
//Final Query
criteriaQuery.multiselect(selectionList).where(predicates.toArray(new Predicate[]{}))

1 个答案:

答案 0 :(得分:1)

您的实体类必须具有一个与您的投影字段完全匹配的构造函数。构造函数参数的顺序和类型必须与sql结果匹配。