Zoals anderen al hebben gezegd:het stuurprogramma wijst alles toe aan BigDecimal, zelfs als het is gedefinieerd als NUMBER (38) (wat zou kunnen worden toegewezen aan BigInteger)
Maar het is vrij eenvoudig om erachter te komen wat de bestuurder in kaart brengt. Voer gewoon een getObject() uit in de kolom van de ResultSet en kijk welke klasse het stuurprogramma heeft gegenereerd.
Iets als:
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()); }