2012-06-26 2 views
1

У меня есть следующий запрос 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[] «S в 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 возвращается?

ответ

2

Как вы можете видеть в сообщении об ошибке, вы получаете List<Object[]>, а не строку. Результирующие значения не обязательно являются строками (возможно, они находятся в вашем примере, но обычно это не так).

+0

Я вижу. Он должен быть массивом объектов, а затем мне нужно передать каждому отдельному объекту строку. Он работает сейчас. Благодарю. – Graham