org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: 29 near line 1, column

来源:互联网 发布:pm2 node schedule 编辑:程序博客网 时间:2024/06/06 05:12

          在购物网站项目中首页需要展示前面一部分的品牌,在Dao层的代码如下

/** * 获取指定数量的品牌信息 * @param count 指定数量 * @return 指定数量的品牌信息 */@SuppressWarnings("unchecked")public List<Brand> getBrand(int count) {String hql = "select top "+count+" from Brand";return (List<Brand>)getHibernateTemplate().find(hql);}

          运行时报如下错误:

org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: 29 near line 1, column 12 [select top 29 from com.paixie.domain.Brand];

          原来:在使用hibernate通过session操作数据库时,session根据的查询语句都是hql。如: session.createQuery("from Brand"); 它的语句中不存在select * ,所有如果将hql语句误写成sql语句,它是不认得*号的,才会报那样“unexpected token: * near line 1, column 8”的错。