HQL选择范围的结果 [英] HQL select range of results

查看:110
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆