我在项目中使用HQL查询数据时,只要是HQL中的select 后面包含int 类型的列,就会报错,怎么回事,代码如下:
public static void main(String[] args) throws Exception { String newSQ = "select frontNum, count from AdvanceQuery"; Query query = HibernateUtil.getSession().createQuery(newSQ); List<Object[]> list = query.list(); for (Object object2[] : list) { for (Object object : object2) { System.out.print("\t" + object); } } }
其中,frontNum是一个char类型的,count是一个int类型的,只要有这个count,执行这个查询时就会报错,报错信息如下:
Exception in thread "main" org.hibernate.hql.internal.ast.QuerySyntaxException: expecting OPEN, found 'from' near line 1, column 24 [select frontNum, count from zuccess.zcplt.basic.advanced.model.AdvanceQuery] at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:91) at org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException(ErrorCounter.java:109) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:304) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:203) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158) at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:126) at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:88) at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:190) at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301) at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236) at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1800) at zuccess.zcplt.basic.advanced.util.ClassUtils.main(ClassUtils.java:39)我的实体类的信息如下:
private int count; //记录被点击的次数 private char frontNum; //是否被置顶,置顶则为1 ,否则为0对应的xml文件为:
<property name="frontNum" type="char"> <column name="FRONTNUM" length="1" /> </property> <property name="count" type="integer"> <column name="COUNT" length="4" /> </property>数据库表中的相应字段为:
请问大神们,谁知道这是为什么?
count关键字敲了这么久代码,还是栽倒阴沟里了。<spanstyle="font-size:13.3333330154419px;">count是sql中的关键字
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。