2011-05-06 27 views
7

Hazırda bekletme sorgusunun maxresult özelliği nasıl çalışır? Aşağıdaki örnekte:Hazırda bekleme sonucu sorgulama

Query query = session.createQuery("from MyTable"); 
query.setMaxResults(10); 

Bu, tüm satırları veritabanından alır, ancak bunlardan sadece 10 tanesi görüntülenir? veya bu sql içinde limit ile aynıdır.

cevap

11

LIMIT ile aynıdır, ancak veritabanı bağımsızdır. Örneğin, MS SQL Server'ın LIMIT'i yok, bu yüzden hazırda bekletme bunu halletmeye dikkat ediyor. MySQL için sorguya LIMIT 10 ekler.

Her zaman, yerel sql cümleleri yerine query.setMaxResults(..) ve query.setFirstResult(..) kullanın.

0

SetMaxResults tüm satırları alır ve ayarlanan satır sayısını görüntüler. Benim durumumda, sadece bir limit sayısını gerçekten alabilen bir yöntem bulmayı başaramadım. Benim önerim, sorguyu kendiniz oluşturmak ve orada "rownum" veya "limit" olarak ayarlamaktır.

İlgili konular