查询语句select count(*) from i_asset asset join i_serviceevent event on asset.metatable=event.metatable and asset.metaid=event.metaid where  event.eventtype='Ea' and event.readerno=155305;
用hibernate的query.list()方法。返回了一个list
然后我这样取:
List<Integer> list = serviceEvent.executCountsQuery(hql, 1);//这个是调用查询方法
int yetLoanBookNum = list.get(0).intValue();//异常就是在这抛出的。
我把list.get(0)打印出来只有600多,为啥赋给int的时候老抛出这个异常。

解决方案 »

  1.   


    值大不在跟抛不抛异常不一定有关系。。有可能你数据表主键定义是大整型类型,所以
    你的list.get(0) 返回的就是大整型,在Java中自然就是BigInteger你把list.get(0),用BigInteger接收,再转成int嘛
      

  2.   

    转换成Integer应该行的嘛  我用这中方式转过...
      

  3.   

    你的意思是list.get(0) 这个syso有值 对吗?  如果是这样 我建议你试试
    int yetLoanBookNum  = (Integer)list.get(0);  强转