当前位置: 代码迷 >> J2EE >> 求一句hql语句,查询数据库的前5条记录,该如何处理
  详细解决方案

求一句hql语句,查询数据库的前5条记录,该如何处理

热度:125   发布时间:2016-04-22 02:34:13.0
求一句hql语句,查询数据库的前5条记录
我用的struts2.0 spring2.5+hibernate3.2开发一个项目,请问大家要提取数据库的最新的5条记录应该怎么写啊,
我用这样的sql写
public List<News> findSixNews()

{
String sql="select top 6 * form tb_news";
return (List<News>)this.getHibernateTemplate().find(sql);
}
但是报错了提示:
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: 6 near line 1, column 12 [select top 6 * form tb_news]


以前我用hql很正常,要实现那种需要的hql语句这么写啊,或者是sql语句能不能在hibernate环境下实现啊
希望大家帮忙,谢谢了啊

------解决方案--------------------
换回hql
------解决方案--------------------
靠,兄弟,这是hibernate你怎么能用top 用top回报错呢 你如果硬要用sql语句的话 那你只能这样做
super().getSssion().createQery(sql) 这样
------解决方案--------------------
Java code
String sql=" form tb_news"; Query query = session.createQuery(hql.toString());query.setMaxResults(5);
------解决方案--------------------
session.createSQLQuery(sql);这个方法就是原生SQL的
使用HQL
Query query = session.createQuery("from table");
query.setFirstResult(n); //开始记录 
query.setMaxResults(m); //查询出来的记录数 
query.list();
------解决方案--------------------
探讨
Java code
String sql=" form tb_news";
Query query= session.createQuery(hql.toString());
query.setMaxResults(5);
  相关解决方案