EJB setMaxResults

本文详细解释了在分页查询中setFirstResult与setMaxResults的作用。前者定义查询的起始位置,后者设定每次查询返回的数据量。同时对比了setMaxResults与setFetchSize的区别,前者在SQL层面限制结果数量,后者则在获取结果集时进行限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

setFirstResult 是起始数据,setMaxResults是查询显示的数据。

如果放在分页程序里边 setFirstResult的值应该是 (当前页面-1)X每页条数,setMaxResults 就是每页的条数了。

关于setMaxResults 和 setFetchSize 的区别:我的理解是

•setMaxResults 是用来配合数据库生成sql的,在sql里就控制查询的记录数目
•setFetchSize是控制查询结果的,可能sql已经查询出100条,但是hibernate只取前10条放到返回的List里。
1. public List getList() throws HibernateException {
2. Session session = HibernateUtil.currentSession();
3. Transaction tx = session.beginTransaction();
4. Query query = session.createQuery(
5. "from Table");
6. query.setFirstResult(0);
7. query.setMaxResults(10);
8. List list = query.list();
9. tx.commit();
10. HibernateUtil.closeSession();
11. return list;
12. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值