hibernate中的select列如果有int类型的就会报错

发布于 2021-11-30 21:34:34 字数 2799 浏览 747 评论 3

我在项目中使用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>
数据库表中的相应字段为:

请问大神们,谁知道这是为什么?


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

多彩岁月 2021-12-01 05:23:46

count是sql中的关键字

一笔一画续写前缘 2021-12-01 03:13:10

敲了这么久代码,还是栽倒阴沟里了。

为你鎻心 2021-12-01 01:53:55

count 关键字

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文