[英]how to access a list of objects array as a result of a JPQL's query
架構 :每個員工可能有許多電話號碼,並且每個電話號碼都屬於一個員工(一對多關系)。
使用以下JPQL查詢: SELECT e, p FROM Employee e JOIN e.phones p
,
您將如何處理應用程序代碼中此查詢的結果List<Object[]>
? 在訪問應用程序中的每個員工及其電話號碼方面。 該List<Object[]>
? 使用
em.createNamedQuery("..").getResultList().get(1)[]
// or
em.createNamedQuery("..").getResultList().get(2)[0]
導致錯誤。
問題很可能是getResultList()
返回一個非通用List
,因此您必須首先將其強制轉換為List<Object[]>
。
假設您的列表中至少有一個條目應該起作用:
Employee e = (Employee)((List<Object[]>)em.createNamedQuery("..").getResultList()).get(0)[0];
更新 :
僅供參考:根據您使用的JPA版本,您可能會得到一個List<Object>
。 在這種情況下,您可以將值轉換為Object[]
:
Employee e = (Employee)((Object[])em.createNamedQuery("..").getResultList().get(0))[0];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.