2013-04-08 17 views
8

Sunucunun JPA kullanarak veritabanından nesneleri sorduğu ve sonra nesneleri web hizmetleri üzerinden istemciye gönderdiği birkaç senaryo var.
İstemci bu tür senaryolardaki grafiğin tamamını beklediğinden, tembel yüklü koleksiyonları istekli yükleme ile geçersiz kılmak ve büyük olasılıkla yığın yüklemesini (performans için) talep etmek istiyorum. JPA'da (veya EclipseLink) sorguyu genel bir şekilde (sorguyu yeniden yazmadan) geçersiz kılmak ve tam grafiği istemek için bir yol var mı?JPA sorgusunu hevesle tüm koleksiyonlara/alanlara döndürmeye zorlanıyor

cevap

9

10.1.3. Getirme Bağlantıları

JPQL sorguları, sorgulanan örneklerde hangi alanların önceden getirileceğini belirtmesine izin veren bir veya daha fazla toplama getirme bildirimi belirtebilir.
SELECT x FROM Dergi x join fetch x.articles NEREDE x.title = 'JDJ'
Yukarıdaki sorgu, Dergi örneklerini döndürür ve makalelerin geri döndürülen örneklerde zaten getirileceğini garanti eder.
Çoklu alanlar ayrı getirme katılmak beyanlarında belirtilebilir: Dergi x GELEN
SEÇ x getirme x.articles x.authors getir katılmak katılmak NEREDE x.title = 'JDJ'

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