2010-06-14 11 views
10

Jaki typ Oracle (10 Express Edition) byłby "taki sam" jak int Java?Jaki typ danych w wyroczni byłby odwzorowany na int Java?

+0

Dobre pytanie - kiedy tworzę tabelę z "INTEGER", wydaje się, że konwertuje ją na "NUMBER (22)", i która może przechowywać liczby większe niż MAX_INT. –

+0

Możesz użyć NUMBER. Jednak upewnij się, że nie czytasz tego jako obiektu - sterownik JDBC może faktycznie utworzyć podwójne. – Uri

+0

@Uri Nie jest to problemem przy korzystaniu z JPA. –

Odpowiedz

17

int Java ma zasięg -2147483648 do 2147483647 - tak Number (10,0) jest tak blisko, jak masz zamiar dostać ...

+6

I, jeśli to konieczne, możesz dodać ograniczenie sprawdzające do kolumny, 'check (nazwa_kolumny między -2147483648 i 2147483647)', aby upewnić się, że przechowywane dane nie mieszczą się w zakresie obsługiwanym przez aplikację. –

+1

czy to nie NUMBER (9,0)? Z NUMBER (10,0) możesz mieć wartość (np. 9,999,999,999), która przekracza zakres int Java. –

+0

Nie - wtedy nie obejmowałbyś całego zakresu int. –

4

Powiedziałbym, że number(10,0).

1

NUMER spróbować. W Oracle używamy Number for Integer

Powiązane problemy