IDE调试的时候获得sql:select * from Article a where 2 > 1 and a.createTime <= '2010-12-29'拿到 sql server 2005 执行,正确查询出结果,但hibernate执行出错,不解其意,望高手作答,多谢!
Session session = super.getSession().getSessionFactory().openSession();
Transaction ta = session.beginTransaction();
List articleList = new ArrayList();
articleList = (List) session.createQuery(sql).uniqueResult();
ta.commit();
session.close();
return articleList;

解决方案 »

  1.   

    这是异常信息:org.hibernate.hql.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select * from com.photon.entity.Article a where 2 > 1 and a.createTime <= '2010-12-29']
    at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:31)
    at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:24)
    at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:59)
    at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:258)
    at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
    at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
      

  2.   

    多谢,不是半角全角的问题,写法有误,改成 a.* 就OK了