【问题标题】:How can i ignore: PSQLException: The column name clothStyle was not found in this ResultSet我该如何忽略:PSQLException:在此 ResultSet 中找不到列名 ClothStyle
【发布时间】:2018-12-31 14:23:53
【问题描述】:

我创建了一个查询,只从不包括列布样式的表中的一行中获取 4 个项目,所以我理解为什么会出现错误,但我如何告诉 Spring Jpa 或 JPA 这是故意的。我只想要 id、name 和 color 表?

这是我的代码:

@RequestMapping(value = "/query/material",method = RequestMethod.GET)

public String QueryMaterialTable(HttpServletRequest request){

    DataTableRequest<Material> dataTableInRQ = new DataTableRequest<Material>(request);
    PaginationCriteria pagination = dataTableInRQ.getPaginationRequest();

    String baseQuery = "SELECT id as id, time as time, name as name, color as color, price as price, (SELECT COUNT(1) FROM MATERIAL) AS totalrecords  FROM MATERIAL";
    String paginatedQuery = AppUtil.buildPaginatedQuery(baseQuery, pagination);

    System.out.println(paginatedQuery);

    Query query = entityManager.createNativeQuery(paginatedQuery, Material.class);

    @SuppressWarnings("unchecked")
    List<Material> materialList = query.getResultList();

    DataTableResults<Material> dataTableResult = new DataTableResults<Material>();
    dataTableResult.setDraw(dataTableInRQ.getDraw());
    dataTableResult.setListOfDataObjects(materialList);
    if (!AppUtil.isObjectEmpty(materialList)) {
        dataTableResult.setRecordsTotal(String.valueOf(materialList.size())
        );
        if (dataTableInRQ.getPaginationRequest().isFilterByEmpty()) {
            dataTableResult.setRecordsFiltered(String.valueOf(materialList.size()));
        } else {
            dataTableResult.setRecordsFiltered(String.valueOf(materialList.size()));
        }
    }
    return new Gson().toJson(dataTableResult);
}

【问题讨论】:

    标签: jpa spring-data-jpa


    【解决方案1】:

    如果我的问题是正确的,那么您的问题在于以下两行:

    Query query = entityManager.createNativeQuery(paginatedQuery, Material.class);
    List<Material> materialList = query.getResultList();
    

    您有多种选择来解决这个问题:

    【讨论】:

    • 谢谢,我使用的是“提供完整的列列表,即在 SQL 语句中提供缺失的列并将它们设为 NULL;”但我想要一个更好的方法。我会使用结果转换器,因为我使用的是 Jquery 数据表,并且想要一种更灵活的方式来创建复杂的动态查询,并且仍然保持干净的代码库
    猜你喜欢
    • 2018-09-23
    • 2021-01-18
    • 2021-07-16
    • 2014-02-11
    • 2021-03-02
    • 2019-10-26
    • 2016-01-27
    • 2015-08-04
    • 1970-01-01
    相关资源
    最近更新 更多