Som andre allerede har sagt:driveren kortlægger alt til BigDecimal, selvom det er defineret som NUMBER(38) (som kunne kortlægges til BigInteger)
Men det er ret nemt at finde ud af, hvad driveren kortlægger. Du skal blot lave et getObject() i kolonnen i ResultSet og se, hvilken klasse driveren genererede.
Noget som:
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()); }