Jednoduše řečeno, výběrem orákula DATE
do Java Date
je ze své podstaty problematické. To proto, že se zásadně liší. Oracle DATE
je kombinace roku, měsíce, dne, hodin, minuty, sekund, bez jakýchkoli informací o časovém pásmu, takže to může být jakékoli časové pásmo, s letním časem nebo bez něj – Oracle neví, protože tyto informace nejsou zahrnuty v DATE
.
Na druhou stranu, Java Date je v podstatě počet milisekund od 1. 1. 1970 00:00:00 UTC.
Když Oracle DATE
přejde do Java Date
, může ovladač JDBC pouze hádat, které časové pásmo použít. Výsledky jsou poněkud nepředvídatelné, zvláště když data v databázi používají jiné časové pásmo než uživatel.