In poche parole, selezionando un oracolo DATE
in una Date
Java è intrinsecamente problematico. Questo perché sono fondamentalmente diversi. Una DATE
Oracle è la combinazione di anno, mese, giorno, ore, minuti, secondi, senza alcuna informazione sul fuso orario, quindi potrebbe essere qualsiasi fuso orario, con o senza l'ora legale - Oracle non lo sa, poiché tali informazioni non sono incluse nel DATE
.
D'altra parte, una data Java è fondamentalmente il numero di millisecondi dal 1/1/1970 00:00:00 UTC.
Quando un Oracle DATE
va in una Date
Java , il driver JDBC può solo indovinare quale fuso orario applicare. I risultati sono piuttosto imprevedibili, soprattutto quando i dati nel database utilizzano un fuso orario diverso da quello dell'utente.