li13609254624 2016-06-21 01:51 采纳率: 0%
浏览 1280
已采纳

请问与人知道如下错误吗?代码如下:但是报错。

麻烦大神帮我看一下下面的代码报错,应该怎修改?
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigInteger

@Override
public int getUserCount(int surveyId) {
String sql = "select count(*) from (SELECT distinct(sh.userId) FROM
survey_history as sh where sh.userId = ?) as r";
SQLQuery query = sessionFactory.getCurrentSession().createSQLQuery(sql);
query.setParameter(0, surveyId);

BigInteger count = (BigInteger)query.uniqueResult();
return count.intValue();
}

  • 写回答

3条回答 默认 最新

  • little_how 2016-06-21 01:54
    关注

    BigInteger count = (BigInteger)query.uniqueResult();
    改成:
    Integer count = (Integer)query.uniqueResult();

    如果确认是数字,那么比较兼容的写法是:
    Integer count = Integer.valueOf(query.uniqueResult().toString());

    如果有帮助,希望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?