2010-06-14 38 views
10

Loại Oracle nào (10 Express Edition) sẽ là "giống" như một Java int?Kiểu dữ liệu nào trong oracle sẽ ánh xạ tới một Java int?

+0

Câu hỏi hay - khi tôi tạo bảng có "INTEGER", nó có vẻ như chuyển đổi thành "NUMBER (22)" và có thể lưu trữ số lớn hơn MAX_INT. –

+0

Bạn có thể sử dụng NUMBER. Tuy nhiên, hãy chắc chắn rằng bạn không đọc nó như là một đối tượng - trình điều khiển JDBC thực sự có thể tạo ra một Double. – Uri

+0

@Uri Không phải là vấn đề khi sử dụng JPA. –

Trả lời

17

int Java có một loạt các -2147483648 đến 2,147,483,647 - vì vậy số (10,0) là gần như là bạn sẽ nhận được ...

+6

Và nếu thích hợp, bạn có thể thêm ràng buộc kiểm tra vào cột, 'kiểm tra (column_name giữa -2147483648 và 2147483647)' để đảm bảo dữ liệu được lưu trữ không nằm ngoài phạm vi mà ứng dụng có thể xử lý. –

+1

không nên là NUMBER (9,0)? Với NUMBER (10,0) bạn có thể có một giá trị (ví dụ 9,999,999,999) sẽ vượt quá phạm vi của một Java int. –

+0

Không - sau đó bạn sẽ không bao gồm toàn bộ phạm vi của loại int. –

4

Tôi muốn nói number(10,0).

1

thử SỐ. Trong Oracle, chúng tôi sử dụng Số cho số nguyên

Các vấn đề liên quan