Simpel gezegd, het selecteren van een orakel DATE
in een Java Date
inherent problematisch is. Dat komt omdat ze fundamenteel anders zijn. Een Oracle DATE
is de combinatie van jaar, maand, dag, uren, minuten, seconden, zonder enige tijdzone-informatie, dus het kan elke tijdzone zijn, met of zonder zomertijd - Oracle weet het niet, omdat die informatie niet is opgenomen in de DATE
.
Aan de andere kant is een Java-datum in feite het aantal milliseconden sinds 1/1/1970 00:00:00 UTC.
Wanneer een Oracle DATE
gaat in een Java Date
, kan het JDBC-stuurprogramma alleen raden welke tijdzone moet worden toegepast. De resultaten zijn nogal onvoorspelbaar, vooral wanneer de gegevens in de database een andere tijdzone gebruiken dan de gebruiker.