Như những người khác đã nói:trình điều khiển ánh xạ mọi thứ thành BigDecimal, ngay cả khi nó được định nghĩa là NUMBER (38) (có thể được ánh xạ tới BigInteger)
Nhưng khá dễ dàng để tìm ra bản đồ của trình điều khiển. Chỉ cần thực hiện getObject () trên cột của ResultSet và xem trình điều khiển đã tạo lớp nào.
Một cái gì đó như:
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()); }