Jak już powiedzieli inni:sterownik mapuje wszystko na BigDecimal, nawet jeśli jest zdefiniowane jako LICZBA(38) (co może być zmapowane na BigInteger)
Ale dość łatwo jest dowiedzieć się, co mapuje sterownik. Po prostu wykonaj getObject() w kolumnie zestawu wyników i zobacz, jaką klasę wygenerował sterownik.
Coś takiego:
ResultSet rs = statement.executeQuery("select the_number_column from the_table"); if (rs.next()) { Object o = rs.getObject(1); System.out.println("Class: " + o.getClass().getName()); }