日期:2014-05-16  浏览次数:20694 次

MySql中int unsigned与java中Integer对应时的错误
    今天页面上出现了下面的异常。
...is outside valid range for the datatype integer.
    事情是这样的,我用的是MySql数据库,表中有个IP字段,类型设置的是int unsigned,长度为10。
当我从数据库中读取时,有条记录的IP值超过了2147483648,于是就触发了这个异常。就在下面这条语句。
引用

List resultSet = query.getResultList();

    看样子,数值超过那个限制的int unsigned类型不能被自动转成bigint,据说是一个bug。那我只有把数据表中该字段类型换成bigint了。不知道有没有优雅点的解决办法。