Просто казано, избиране на оракул DATE
в Java Date
по своята същност е проблематично. Това е така, защото те са фундаментално различни. DATE
на Oracle е комбинацията от година, месец, ден, часове, минути, секунди, без информация за часовата зона, така че може да бъде всяка часова зона, със или без лятно часово време - Oracle не знае, тъй като тази информация не е включена в DATE
.
От друга страна, Java Date основно е броят милисекунди от 1/1/1970 00:00:00 UTC.
Когато Oracle DATE
влиза в Java Date
, JDBC драйверът може само да гадае коя часова зона да приложи. Резултатите са доста непредсказуеми, особено когато данните в базата данни използват различна от потребителската часова зона.