首页 > 解决方案 > 线程“main”中的异常 java.lang.ClassCastException: [Ljava.lang.Object; 无法转换为 com.jalin.bank.model.Trx

问题描述

我的 SQL 是这样的select trx_date, card_number , count(card_number) as amount from trx_data_cons where trx_date ='161222' group by trx_date, card_number;

trx_date || 卡号 || 数量

YYmmdd xxxxx x

我的 HQL 是这样的

public List<Trx> listTrx() {

        List<Trx> list = (List<Trx>) getHibernateTemplate().find(
              "select trxD, trxC, count(trxC) from Trx where trxD = '161222' group by trxD, trxC");
    return list;
    }

我的 Trx.java 是

@Override
    public String toString() {
        return " || " + trxD+" || "+ trxC + " ||";
    }

但是我应该如何以及在哪里放置计数结果?

我的主要课程是

List<Trx> list = trxBo.listTrx();
        for(Trx t1:list) {
            System.out.println(t1.toString());
        }

我的意思是,我应该定义计数对吗?把它放在模型里..?但是如何检索计数结果?

标签: javahql

解决方案


trxC您在and之间缺少逗号count(

"select trxD, trxC count(trxC) from Trx where trxD = '161222' group by trxD, trxC"

应该

"select trxD, trxC, count(trxC) from Trx where trxD = '161222' group by trxD, trxC"

推荐阅读