2013-04-08 83 views
8

我有幾個場景,其中服務器使用JPA從數據庫查詢對象,然後通過Web服務將對象發送到客戶端。
由於客戶期望在這種情況下的完整圖,我想要重載加載延遲的集合,並可能需要批量加載(用於性能)。 在JPA(或EclipseLink)中是否有一種方法以通用方式重寫查詢(不重寫查詢)並請求完整圖?強制JPA查詢返回所有集合/字段

回答

9

10.1.3。 Fetch Joins

JPQL查詢可能會指定一個或多個聯接讀取聲明,這些聲明允許查詢指定返回實例中的哪些字段將被預取。
SELECT x FROM Magazine x join fetch x.articles WHERE x.title ='JDJ'
上面的查詢返回Magazine實例並確保文章字段已經在返回的實例中被提取。
多個字段可以在分開加入取聲明來指定:
選擇x FROM雜誌X加入取x.articles加入取x.authors WHERE x.title = 'JDJ'

來源:http://docs.oracle.com/cd/E13189_01/kodo/docs40/full/html/ejb3_overview_query.html#ejb3_overview_join_fetch