String hql="select count(id) FROM User as u where u.emailname=?";
Query query=super.getSession().createQuery(hql);
query.setString(0, name);
List list=query.list();
int i=(Integer)list.get(0); //类型转换出错
  调用save方法插入时候,没有错 ,数据库是mysql的,字段id 自增 int(11)

解决方案 »

  1.   

    List<Integer> list=query.list();
    int i=list.get(0);
      

  2.   


    你的id返回类型是Integer 但没人告诉你你用count函数返回的DD也是Integer啊
    看看用Long能接不  不能的话换BigDecimal 如果想转成Integer的话 你也可以通过使用
    Integer.parseInt(list.get(0).toString);
      

  3.   

    你debug一下,看看返回值的类型不就知道怎么转了么?
    再说抛异常的时候也会告诉你xxxxx不能被转换成Integer吧。