使用这种查询:
String hqlString = “select count(1) from Product t where t.categorySecond.category.cid= ? “;
List<Long> list = this.getHibernateTemplate().find(hqlString,cid);
在Mysql数据库中是可以实现的,但是在hibernate中使用类查询时会报错,页面会报如下错,但是后台不报错:
Struts Problem Report
Struts has detected an unhandled exception:
Messages:
unexpected token: 1 near line 1, column 14 [select count(1) from cn.itcast.shop.product.vo.Product t where t.categorySecond.category.cid= ? ]
unexpected token: 1 near line 1, column 14 [select count(1) from cn.itcast.shop.product.vo.Product t where t.categorySecond.category.cid= ? ]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: 1 near line 1, column 14 [select count(1) from cn.itcast.shop.product.vo.Product t where t.categorySecond.category.cid= ? ]
File: org/hibernate/hql/ast/QuerySyntaxException.java
Line number: 54
Stacktraces
org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: 1 near line 1, column 14 [select count(1) from cn.itcast.shop.product.vo.Product t where t.categorySecond.category.cid= ? ]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: 1 near line 1, column 14 [select count(1) from cn.itcast.shop.product.vo.Product t where t.categorySecond.category.cid= ? ]
——————————————-把他改成
String hqlString = “select count(*) from Product t where t.categorySecond.category.cid= ? “;
List<Long> list = this.getHibernateTemplate().find(hqlString,cid);
就不会报错了。