Hql没有limit,替换方案

时间:2023-03-09 08:49:58
Hql没有limit,替换方案

在HQL+MYSQL中不能直接在查询语句中使用LIMIT进行检索,正确方法为:

String hql = "from User where id=? order by addDate desc";
Query query = session.createQuery(hql);
query.setParameter(0, userId);
query.setFirstResult(pageroffset);
query.setMaxResults(e);
pageroffset:开始检索的位置,int
e:返回最大记录行,int
执行此HQL后在生成的查询语句中会自动加上limit ?。

例:查询前5条数据:

query.setFirstResult(0);
query.setMaxResults(4);