Тип данных bigint
правильно сопоставлен с BigInteger
, так как он говорит: это большое целое число, которое может не вписаться в Long.
Вы можете использовать resultSet.get(columnPos)
, а затем проверитькласс возвращаемого объекта.
Мы написали для этого вспомогательный класс, поэтому мы сделаем что-то вроде этого:
public Long getLongFromResultSet( ResultSet rs, int columnPos ) {
Object value = rs.get( columnPos );
if( value instanceof Number) { //this should handle any numeric Java type like BigInteger, Long etc.
return ((Number)value).longValue(); //autoboxing here
}
... //handle non-Number cases
}