【问题标题】:CriteriaBuilder with Selection doesn't allow without constructor带有选择的 CriteriaBuilder 不允许没有构造函数
【发布时间】:2019-10-30 11:19:54
【问题描述】:

我有一个动态选择列表,我想执行它以从表中获取特定列。但是当试图执行代码时,我得到了以下错误。

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[]{}))

【问题讨论】:

    标签: java spring-boot jpa criteria-api


    【解决方案1】:

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

    【讨论】:

    • 除了具有代表行并且只有必填字段的专用类之外?没有什么我会知道的。
    猜你喜欢
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    相关资源
    最近更新 更多