首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

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

2012-02-10 
求一句hql语句,查询数据库的前5条记录我用的struts2.0 spring2.5+hibernate3.2开发一个项目,请问大家要提

求一句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);

热点排行