2010-07-20 29 views
6

Harita dizisini hazırda bekletilen sorgudan almanın en iyi yolunun ne olduğunu merak ediyorum. Google, query.list() öğesini yinelemeyi ve boş harita dizisine nesne oluşturmayı/eklemeyi söylüyor.
Bunu yapmanın zarif ve verimli bir yolu olacağını tahmin ediyorum. Birisi bana fikir verebilir mi?java.util.Map hazırda bekleme sorgusundan nasıl edinilir?

+0

Anahtarlar ne olabilir ve bu Haritanın değerleri ne olurdu? Bu soruyu cevaplamaya yönelik her türlü girişim, gerçekleşmek istediğiniz şey hakkında çok daha fazla bilgi gerektirir. –

+0

olası kopyası [Hazırda Beklet, Listeden DİĞER sonuç nesnelerini toplayabilir mi?] (Http://stackoverflow.com/questions/416970/can-hibernate-return-a-collection-of-result-objects-other- listeden) –

cevap

5

Hibernate Documentation - 15.6. The select clause bakınız:

Sen olarak kullanılarak seçilen ifadelerine adlar atayabilirsiniz

:

select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n 
from Cat cat 

seçkin yeni harita ile birlikte kullanıldığında çok kullanışlıdır:

select new map(max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n) 
from Cat cat 

Bu sorgu döndürür Diğer adlardan seçilen değerlere bir Harita.

+2

Eğer createQuery.list kullanarak hql çalıştırırsanız, sadece bir liste döndürecektir. Listenin her elemanı bir anahtar ve bir değer içeren bir haritadır. Bu yüzden bir harita döndürmüyor, haritaların bir listesini döndürüyor ... bir şey özlüyorum ... – hba

İlgili konular