Enkelt uttryckt, att välja ett orakel DATE
till ett Java Date
är i sig problematiskt. Det beror på att de är fundamentalt olika. En Oracle DATE
är kombinationen av år, månad, dag, timmar, minuter, sekunder, utan någon tidszoninformation, så det kan vara vilken tidszon som helst, med eller utan sommartid - Oracle vet inte, eftersom den informationen inte ingår i DATE
.
Å andra sidan är ett Java-datum i princip antalet millisekunder sedan 1/1/1970 00:00:00 UTC.
När en Oracle DATE
går in i en Java Date
, JDBC-drivrutinen kan bara gissa vilken tidszon som ska tillämpas. Resultaten är ganska oförutsägbara, speciellt när data i databasen använder en annan tidszon än användaren.