如何用hibernate查询mysql数据库中的前五个最新数据?

goby2008 2006-10-24 11:57:34
如何用hibernate查询mysql数据库中的前五个最新数据,而后面的全部数据不显示,这个sql应该怎样写呢?


代码
public class HibernateTest {
public List getUser() throws HibernateException{
Session session=SessionFactory.currentSession();
Transaction tx=session.beginTransaction();
String sql="select us from User us order by us.id desc limit 5";
Query query=session.createQuery(sql);
List list=query.list();
tx.commit();
SessionFactory.closeSession();
return list;
}
}我就是这样写,但显示还是全部数据,难道hibernate不执行关于mysql的sql语句吗?请指教?
...全文
245 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sunny319 2006-10-25
  • 打赏
  • 举报
回复
在命令行执行select us from User us order by us.id desc limit 5显示的数据和程序查询的数据是不是一致??
Marcus-Z 2006-10-25
  • 打赏
  • 举报
回复
楼上的,哈哈啊
killme2008 2006-10-25
  • 打赏
  • 举报
回复
Query qry = session.createQuery(HQLSql);
qry.setFirstResult(begin);
qry.setMaxResults(max);
Marcus-Z 2006-10-25
  • 打赏
  • 举报
回复
为什么要这样用呢,不是有个setFirstResult()和setMaxResults()吗?这样会根据你底层的数据库自动创建分页语句的,而你那样直接的HQL语句可能是不支持的
goby2008 2006-10-25
  • 打赏
  • 举报
回复
select * from User order by id desc limit 5 这一句在运行里没有问题,只是在Hibernate里就不行啦!是否Hibernate不支持呢?请指教.
goby2008 2006-10-25
  • 打赏
  • 举报
回复
好的,我试试先.不过我在mysql数据库里试过是行的

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧