从HQL查询返回多个值

时间:2012-06-26 15:20:06

标签: hibernate hql

我有以下HQL查询:

SELECT ita.invoiceType, ita.agreementNumber, itr.ruleCategory 
FROM InvoiceTypeAgreements ita, InvoiceTypeRules itr 
WHERE ita.invoiceType = itr.invoiceType 
AND ita.agreementNumber IN (?1) 
AND itr.ruleCategory IN (?2)

我正在使用query.getResultList()从中获取值。我假设它返回ArrayList<String[]>,但每当我尝试访问String[]中的ArrayList<String[]>时,我都会收到此错误:

java.util.concurrent.ExecutionException: javax.ejb.EJBException:
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

ArrayList<String[]>不是HQL查询返回的内容吗?

1 个答案:

答案 0 :(得分:2)

正如您在错误消息中看到的那样,您获得List<Object[]>而不是String。结果值不一定是字符串(可能它们在您的示例中,但通常不是)。