2011-10-27 30 views
22

Sorgum bir sınıf içeriyorsa:Hazırda bekletme: Birden çok sınıftaki sorgudan sonuç nasıl alınır?

query = session.createQuery("select u from User as u"); 
queryResult = query.list(); 

sonra yineliyorum, queryResultUser sınıfının bir nesnesidir.

Peki, birden fazla sınıf içeren sorgudan nasıl sonuç alınır? Örneğin:

select u, g from User as u, Group as g where u.groupId = g.groupId and g.groupId = 1 
+1

En iyi yanıt buradadır http://stackoverflow.com/questions/5435304/how-to-override-hibernate-fetching-strategy-at-runtime –

cevap

25
for (Object[] result : query.list()) { 
    User user = (User) result[0]; 
    Group group = (Group) result[1]; 
} 
+2

teşekkürler! ama '' listesi olmalı – yaya

5

kullanarak Tuples İnanıyorum ki, ama sizin Grubu ve Kullanıcı bu sorguya gibi ilgili ise daha da önemlisi, içinde GroupID kullanmayan bir Grup alanını (olması gereken Kullanıcıyı önermek gibi görünüyor edebilirsiniz Kullanıcı sınıfı, hazırda bekletme bunu sizin için ayırmalı). Eğer durum buysa sadece o select u from User u join fetch u.group g where g.groupId = :id (daha sonra query.setParameter(1, id); kullanarak id set kullanarak sorgulayabilir.

o sorguda fetch anahtar kelime size Kullanıcı nesnesini döndürür böylece hem nesneler hazırda bekletme iade edilecektir hevesli yük yapar

. user.getGroup kullanarak Grup nesnesine erişin(). tek bir varlık seçtiğinizde, query.list() senin varlıkları içeren ListObject ait dönecektir

+0

Bunun doğru yol olduğunu düşünüyorum, ama bazı ayrıştırıcılarım vardı hatalar: "all" bekliyor, "birleştirme" ve "by" bekleyerek bulundu "," nerede bulundu? " – yaya

+0

' 'get getirme 'yerine getir' yerine getir, hatam. Şimdi düzeltmek. – Thor84no

3

.

birden varlıkları seçtiğinizde, query.list(), Object[] numaralı telefondan List'u iade edecektir. Dizinin her öğesi ayrı bir varlığı yeniden atar. Buradan daha fazla

Okuma:

sınıf Aile uygun yapıcı olduğunu varsayarsak - gerçek bir türgüvenli Java nesne olarak: Eğer bir nesne bir kurucu oluşturmak ve dönebilirsiniz Ayrıca

İlgili konular