Comme d'autres l'ont déjà dit :le pilote mappe tout sur BigDecimal, même s'il est défini comme NUMBER (38) (qui pourrait être mappé sur BigInteger)
Mais il est assez facile de savoir ce que le pilote cartographie. Faites simplement un getObject() sur la colonne du ResultSet et voyez quelle classe le pilote a générée.
Quelque chose comme :
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()); }