java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object

后端 未结 3 1638
我寻月下人不归
我寻月下人不归 2020-12-21 13:07

I\'m running the following query. It displays an error message. How to solve this error?

        ListrouteList=null;
        List compa         


        
3条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-21 13:53

    Hibernate is return an array of String (aka a List of type String)

     List companyList = session.createSQLQuery ("select name " +
                                                      "from company "+
                                                      "where company_id= " + companyId).list();   
    

    Because your query returns a String of names from Company table.

    What you have to do return a List

     List companyList = (List)session.createSQLQuery ("select name " +
                                                      "from company "+
                                                      "where company_id= " + companyId).list();
    

    Change your error, from this:

     vgDetails = new Route(); 
                Object[] row = (Object[])companyList.get(i);                                 
                vgDetails.setRouteName ((String)row[0]);                     
                routeList.add(vgDetails);
    

    To this:

    vgDetails = new Route();                                
    vgDetails.setRouteName (companyList.get(i));                     
    routeList.add(vgDetails);
    

    as companyList.get(i) returns a String.

提交回复
热议问题