[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 136
  • Last Modified:

Hibernate fectch error

Hello there,

I am trying to fetch data from the MSSQL 2008 database using hibernate. But for some reason I get this error

data:"[Ljava.lang.Object; cannot be cast to com.erp.shared.entities.custom.CusNeighbourGroupInfo",

here is my hibernate code.

public DSResponse fetch(DSRequest dsRequest) throws Exception
    {
        logger.info("> fetch");
        DSResponse dsResponse = new DSResponse();
        Session hibernateSession = HibernateUtills.getInstance().getHibernateSession();

        String select = "SELECT\r\n" + 
                "    dbo.province.provincename as province,\r\n" + 
                "    dbo.province.capital,\r\n" + 
                "    dbo.province.code,\r\n" + 
                "    dbo.province.telcode,\r\n" + 
                "    dbo.province.taxcode,\r\n" + 
                "    dbo.county.countyname as county,\r\n" + 
                "    dbo.district.districtname as district,\r\n" + 
                "    dbo.zone.alternateName as zone,\r\n" + 
                "    dbo.neighbourhood.alternateName as neigbhour,\r\n" + 
                "    dbo.city.cityname as city,\r\n" + 
                "    dbo.city.taxcode,\r\n" + 
                "    dbo.city.fdocode,\r\n" + 
                "    count(dbo.customer.customeraltname) as countCustomer\r\n" + 
                "FROM\r\n" + 
                "    dbo.county\r\n" + 
                "INNER JOIN\r\n" + 
                "    dbo.province\r\n" + 
                "ON\r\n" + 
                "    (\r\n" + 
                "        dbo.county.provinceID = dbo.province.id)\r\n" + 
                "INNER JOIN\r\n" + 
                "    dbo.district\r\n" + 
                "ON\r\n" + 
                "    (\r\n" + 
                "        dbo.county.id = dbo.district.countyID)\r\n" + 
                "INNER JOIN\r\n" + 
                "    dbo.city\r\n" + 
                "ON\r\n" + 
                "    (\r\n" + 
                "        dbo.district.id = dbo.city.districtID)\r\n" + 
                "INNER JOIN\r\n" + 
                "    dbo.zone\r\n" + 
                "ON\r\n" + 
                "    (\r\n" + 
                "        dbo.city.id = dbo.zone.cityId)\r\n" + 
                "INNER JOIN\r\n" + 
                "    dbo.neighbourhood\r\n" + 
                "ON\r\n" + 
                "    (\r\n" + 
                "        dbo.zone.id = dbo.neighbourhood.zoneId)\r\n" + 
                "INNER JOIN\r\n" + 
                "    dbo.customer\r\n" + 
                "ON\r\n" + 
                "    (\r\n" + 
                "        dbo.neighbourhood.id = dbo.customer.neighbourhoodId)\r\n" + 
                "        Group By dbo.province.provincename,\r\n" + 
                "    dbo.province.capital,\r\n" + 
                "    dbo.province.code,\r\n" + 
                "    dbo.province.telcode,\r\n" + 
                "    dbo.province.taxcode,\r\n" + 
                "    dbo.county.countyname,\r\n" + 
                "    dbo.district.districtname,\r\n" + 
                "    dbo.zone.alternateName,\r\n" + 
                "    dbo.neighbourhood.alternateName,\r\n" + 
                "    dbo.city.cityname,\r\n" + 
                "    dbo.city.taxcode,\r\n" + 
                "    dbo.city.fdocode\r\n" + 
                "";

        Query query = hibernateSession.createSQLQuery(select);

        List<CusNeighbourGroupInfo> order = query.list();

        for (int i = 0; i < order.size(); i++)
        {
            if (order.get(i).getProvince() != null)
            {
                DebugTools.printj(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                    "+order.get(i).getProvince());
                order.get(i).getCounty();
                order.get(i).getDistrict();
                order.get(i).getCity();
                order.get(i).getZone();
                order.get(i).getNeighbour();
            }
        }

        Integer rowCount = order.size();

        dsResponse.setStartRow(0);
        dsResponse.setEndRow(rowCount);
        dsResponse.setTotalRows(rowCount);
        dsResponse.setData(order);
        HibernateUtills.getInstance().closeSession();
        DebugTools.printj(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>     FETCHEDDDDDDDD                               ");
        logger.info("< fetch");
        return dsResponse;
    }

Open in new window


and my POJO class

public class CusNeighbourGroupInfo
{
    private String province;
    private String county;
    private String district;
    private String city;
    private String zone;
    private String neighbour;
    
    public CusNeighbourGroupInfo()
    {

    }

    public CusNeighbourGroupInfo(String province, String county, String district, String city, String zone,
            String neighbour)
    {
        super();
        this.province = province;
        this.county = county;
        this.district = district;
        this.city = city;
        this.zone = zone;
        this.neighbour = neighbour;
    }

    public String getProvince()
    {
        return province;
    }

    public void setProvince(String province)
    {
        this.province = province;
    }

    public String getCounty()
    {
        return county;
    }

    public void setCounty(String county)
    {
        this.county = county;
    }

    public String getDistrict()
    {
        return district;
    }

    public void setDistrict(String district)
    {
        this.district = district;
    }

    public String getCity()
    {
        return city;
    }

    public void setCity(String city)
    {
        this.city = city;
    }

    public String getZone()
    {
        return zone;
    }

    public void setZone(String zone)
    {
        this.zone = zone;
    }

    public String getNeighbour()
    {
        return neighbour;
    }

    public void setNeighbour(String neighbour)
    {
        this.neighbour = neighbour;
    }

    @Override
    public String toString()
    {
        return "CusNeighbourCubeInfo [province=" + province + ", county=" + county + ", district=" + district +
                ", city=" + city + ", zone=" + zone + ", neighbour=" + neighbour + "]";
    }   
}

Open in new window


please help

cheers
Zolf
0
zolf
Asked:
zolf
1 Solution
 
Amitkumar PSr. ConsultantCommented:
Your query returns multiple fields than the your POJO has. I would suggested keep the fields same as your POJO or create another POJO by accomodating all the fields.


Hope this helps.
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now