Sag*_*gar 6 spring hibernate hql
可能重复:
如何在HQL中执行限制查询
我是HQL的新手.我有以下工作HQL查询:
from Order as o where o.account.profile.userId='abc' order by o.orderID desc
Run Code Online (Sandbox Code Playgroud)
此查询返回用户abc下的订单列表.用户可以在DB中放置0到5000+个订单.但我想只显示前5条记录(订单).我正在使用java List的子列表功能.
我可以使用HQL查询直接获取前5条记录吗?哪种写入此查询更有效?
Flo*_*ian 17
您可以在运行查询之前通过调用查询对象上的setFirstResult()和setMaxResults()函数来限制查询返回的结果.像这样:
Query query = session.createQuery("from Order as o where o.account.profile.userId='abc' order by o.orderID desc");
query.setFirstResult(0);
query.setMaxResults(5);
List result = query.list();
Run Code Online (Sandbox Code Playgroud)
这取决于您使用的DBMS是否将直接在DBMS中处理.