2010-06-14 7 views
10

¿Qué tipo de Oracle (10 Express Edition) sería el "mismo" que Java int?¿Qué tipo de datos en el oráculo se correlacionaría con un Java int?

+0

Buena pregunta: cuando creo una tabla con "INTEGER", parece que se convierte en "NUMBER (22)", y que puede almacenar números mayores que MAX_INT. –

+0

Puede usar un NÚMERO. Sin embargo, asegúrese de no leerlo como un Objeto: el controlador JDBC podría producir un Doble. – Uri

+0

@Uri No es un problema cuando se utiliza JPA. –

Respuesta

17

int de Java tiene un rango de -2147483648 a 2147483647 - Número de modo (10,0) es lo más cerca que vas a conseguir ...

+6

Y, si corresponde, puede agregar una restricción de verificación a la columna, 'check (column_name entre -2147483648 y 2147483647)' para asegurarse de que los datos almacenados no se encuentren fuera del rango que la aplicación puede manejar. –

+1

¿no debería ser NÚMERO (9,0)? Con NUMBER (10,0) podría tener un valor (por ejemplo, 9,999,999,999) que excedería el rango de una int de Java. –

+0

No, entonces no estaría cubriendo todo el rango del tipo int. –

4

Yo diría number(10,0).

1

NÚMERO intento. En Oracle utilizamos Number for Integer

Cuestiones relacionadas