问题
在使用hibernate5的session.createNativeQuery进行原生sql查询时,返回一个Object[]数组,利用new构造返回对象,查询时报java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Integer异常,异常代码如下:
因为查询出来的obj[3]和obj[4]是利用聚合函数count查出来的,不能通过简单地**(Integer)obj[3]和(Integer)obj[4]**强制类型转换为Integer,经过尝试终于解决!
解决方案
- 先转成String类型 ;
- 然后使用Integer.parseInt()或者Integer.valueOf()转换成int类型 ;
我的异常代码修改后为:
Integer.valueOf(obj[3].toString()),
Integer.valu