String countsql="select count(*) from Email e where e.zhuangtai=0";
dao.getHibernateTemplate().find(countsql, value);报java.lang.IllegalArgumentException: No positional parameters in query: select count(*) from Email e where e.zhuangtai=0我想做dao.getHibernateTemplate().find 查count(*)谁能给我个正确答案返回list或者string int 都行

解决方案 »

  1.   

    你的sql语句中没有参数,dao.getHibernateTemplate().find(countsql, value);
    这里为什么还传参数value?
      

  2.   

    count(*)查询的是记录总数,肯定返回的是int型啊,不可能是list啊。
    Query query = this.getSession().createQuery(hSql);
    Integer count = new Integer(((Long) query.uniqueResult()).toString());用这个方法,不能用getHibernateTemplate()方法。
      

  3.   

    count(*)查询的是记录总数
    想查询list 的话hql语句写成 select 属性 from ...
    session.createQuery(hql).list()用一个ArrayList实例来接收结果