gpt4 book ai didi

java - list.get().method 生成强制转换异常

转载 作者:行者123 更新时间:2023-12-02 07:46:56 25 4
gpt4 key购买 nike

我编写了这样的代码来使用 HQL 从数据库中获取数据:

Query qr=sess.createQuery("select i.contract_Vcode,i.installment_date from Installment i where i.vcode=:instalVcode").setParameter("instalVcode", installVcode);
qr.getNamedParameters();
List<Installment> li=null;
li=qr.list();
int coVcode=li.get(0).getContract_Vcode();

据我所知,contract_Vcode 是一个整数。但是当我想运行它时,出现以下错误:

Error invoking Action using Hibernate Core Session / Transaction injection
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to information.Installment

更多的是,当我想查看像这样的确切元素时,

System.out.println("contract installDate is: "+li.get(0).getContract_Vcode());

发生同样的错误。我该如何解决这个问题?

最佳答案

您当前仅查询分期付款的两部分。如果你想获取整个内容,我希望是这样的:

Query qr = sess.createQuery(
"select from Installment as i where i.vcode=:instalVcode")
.setParameter("instalVcode", installVcode);

如果您获取多个属性(而不是整个实体),您只需为结果中的每一行返回一个 Object[]

因此您可以使用原始查询,但是:

List<Object[]> li = qr.list();
int coVcode = (Integer) li.get(0)[0]; // 1st column of 1st row

关于java - list.get().method 生成强制转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com