2011-05-06 124 views
7

hibernate查詢的maxresult屬性如何工作?在下面的例子中:休眠限制結果查詢

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

這是從數據庫中獲取所有行,但只有10個顯示?或者這與sql中的limit相同。

回答

11

LIMIT相同,但它與數據庫無關。例如MS SQL Server沒有限制,所以休眠需要翻譯這個。對於MySQL,它會將LIMIT 10附加到查詢中。

因此,總是使用query.setMaxResults(..)query.setFirstResult(..)而不是原生的sql子句。

0

SetMaxResults檢索所有行並顯示設置的行數。在我的情況下,我沒有設法找到一種方法,它只能檢索到有限的行數。 我的建議是自己創建查詢並在那裏設置「rownum」或「limit」。