Получение java .lang.ClassCastException: java .lang.Integer не может быть приведено к [L java .lang.Object Error - PullRequest
0 голосов
/ 21 апреля 2020
    cq.multiselect(selected_columns);
    cq.where(final_selection);

    List<Object[]> result = em.createQuery(cq).getResultList();

    List<Map<String,Object>> final_result = new ArrayList<>();

    for(int i = 0 ; i < result.size() ; i++)
    {
        Map<String,Object> temp = new HashMap<>();

        for(int j = 0 ; j < result.get(i).length ; j++)
            temp.put("student_"+selected.get(j), result.get(i)[j]);

        final_result.add(temp);
    }

если длина массива объектов внутри списка результатов равна 1, тогда 1009 * .lang.ClassCastException: java генерирует эту ошибку *1002* result.get (i) .length .lang.Integer не может быть приведен к [L java .lang.Object

список выбранных столбцов состоит из имен столбцов, которые мне нужно выбрать. Кто-нибудь может мне с этим помочь? Заранее спасибо.

1 Ответ

0 голосов
/ 21 апреля 2020

когда вы выбираете один предмет, вы просто получаете этот предмет. он не встроен в массив размером 1.

...