HQL选择范围的结果 [英] HQL select range of results
本文介绍了HQL选择范围的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设产品是一张包含3000条记录的表格。
Session session = SessionFactorys.getSessionFactory()。openSession();
Query query = session.createQuery(from p);
List result = query.list()。subList(30,40);
session.disconnect();
上面的代码似乎效率不高,有更好的方法,我试图找到
Query query = session.createQuery(from p range(30,40));
解决方案使用
query.setFirstResult )
和 query.setMaxResults()
但请注意,这当然取决于结果集的排序。 查询查询= session.createQuery(from p);
query.setFirstResult(30);
query.setMaxResults(10);
列表结果= query.list();
What is the correct/efficient way to retrieve a sub set of results from hibernate?
Assuming that products is a table containing a 3000 records.
Session session = SessionFactorys.getSessionFactory().openSession();
Query query = session.createQuery("from products p");
List result = query.list().subList(30, 40);
session.disconnect();
The code above dose not seem to be very efficient is there a better way, I am trying to find something like.
Query query = session.createQuery("from products p range(30,40)");
解决方案
Use query.setFirstResult()
and query.setMaxResults()
but be aware that this of course depends on the ordering of your result set.
Query query = session.createQuery("from products p");
query.setFirstResult(30);
query.setMaxResults(10);
List result = query.list();
这篇关于HQL选择范围的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文