msyql:select * from news where 4>(select count(*) from news group by dept order by date desc) 再换成hql
如果id是自增的,就找id最大的三个呗
mysql中可以使用limit 函数。limit 0,3 表示取前3条
hql: from News n group by n.dept order by n.date desc ; Query query = session.createQuery("from News n group by n.dept order by n.date desc"); query.setFirstResult(0);//设置当前页的起始索引 query.setMaxResults(3);//设置每页的最大记录数
mysql:select top 3 * from news order by date desc
Mysql 貌似不能用 top 的吧, 只能用 select * from news order by date desc limit(0,3) ORACLE 可以用 select * from news where rownum <=3 order by date desc
mysql可以用limit + group
hql没研究过,不过hibernate里是可以写jdbc的
Query query = session.createQuery(" from news");
query.setFirstResult((offset - 1) * pagesize);//设置当前页的起始索引
query.setMaxResults(pagesize);//设置每页的最大记录数
Query query = session.createQuery("from news");
query.setFirstResult((offset - 1) * pagesize);//设置当前页的起始索引 query.setMaxResults(pagesize);//设置当前页的最大记录数
再换成hql
如果id是自增的,就找id最大的三个呗
Query query = session.createQuery("from News n group by n.dept order by n.date desc");
query.setFirstResult(0);//设置当前页的起始索引
query.setMaxResults(3);//设置每页的最大记录数
Mysql 貌似不能用 top 的吧, 只能用 select * from news order by date desc limit(0,3)
ORACLE 可以用 select * from news where rownum <=3 order by date desc