簡體   English   中英

如何通過JPQL查詢訪問對象數組列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM