0

こんにちは、Hibernate XML の SQL クエリ リストを取得するクエリがあります。クエリ列の値を変数にキャプチャするかどうかについて質問してください。

Query query = sessionFactory.openSession().getNamedQuery("getListCustomers");

List<Customer> listaResultados = query.list();
        for (int i = 0; i < listaResultados.size(); i++)        {
            System.out.println("Nombre " + i + ": " + listaResultados.get(i));

            Map values = (Map) listaResultados.get(i);
            Integer code = Integer.parseInt(values.get("code").toString());
            System.out.println("===> code: "+code);

        }

これにより、コンソールに残り、マップに失敗しました:

Hibernate: SELECT  ba_customer_id, 
                ba_company_id, 
                code, 
                name, 
                comercial_name, 
                discount, 
                is_active, 
                created, 
                observation
        FROM ba_customer

exception is java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.util.Map] con causa raíz
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.util.Map
4

1 に答える 1

1

リストは ではなくList<String>、エンティティである Hibernate によって返されるタイプである必要があります。それが顧客だと仮​​定すると

List<Customer> listaResultados = query.list();

あなたが持っているもの

List<String> listaResultados = query.list();

名前付きクエリが文字列名のリストまたはそのようなものを返さない限り、意味がありません。例外が発生しているため、明らかにそうではありません。

于 2013-08-09T17:24:59.350 に答える