Como ya han dicho otros:el controlador asigna todo a BigDecimal, incluso si está definido como NÚMERO (38) (que podría asignarse a BigInteger)
Pero es bastante fácil averiguar qué mapea el controlador. Simplemente haga un getObject() en la columna del ResultSet y vea qué clase generó el controlador.
Algo como:
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()); }