hibernate使用select ifnull报错但是在mysql直接运行没问题

    String sql = "select ifnull(pushtoken,0) from  user where id="+user.getId();
    Session session = this.getHibernateTemplate().getSessionFactory()
            .openSession();
    Query q = session.createSQLQuery(sql);
    List list = q.list();    查询的时候报错

[10:40:59|INFO |(org.hibernate.type.StringType)]=[could not read column value from result set: ; Column '' not found.]
[10:40:59|WARN |(org.hibernate.util.JDBCExceptionReporter)]=[SQL Error: 0, SQLState: S0022]
[10:40:59|ERROR|(org.hibernate.util.JDBCExceptionReporter)]=[Column '' not found.]
org.hibernate.exception.SQLGrammarException: could not execute query

hibernate的查询很多都是基于hql语句,,你可以看下