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

          在购物网站项目中首页需要展示前面一部分的品牌,在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”的错。

posted @ 2012-10-02 19:29  IT专业户  阅读(631)  评论(0编辑  收藏  举报