Есть таблица в которой содержится поле типа DateTime в котором хронится дата и время некой операции. При запросе через MS SQL Manager я вижу что есть записи даты со временем. При запросе через JDBC, при вызове следующих методов: getDate() и getTimeStamp() мне прилетает только дата с нулевым временем ( я проверял что именно дата без временем, преобразуя дату в секунды). При вызове getTime() мне прилетает дата 1 января 1970 года (что правильно) и 0 часов 0 мину 0 секунд. При работе с Oracle или MySQL таких граблей ней. Метод getDate() возвращает и дату и время..
Возможно, у вас есть приложение Java, которое использует драйвер JDBC Microsoft SQL Server версии 3.0 и Java Runtime Environment версии 1.7 (JRE 1.7) для подключения к базе данных SQL Server. Драйвер некорректно работает с JRE > 1.6.
Если это сценарий, это может быть вызвано драйверами JDBC. Исправление для этого доступно по ссылке ниже:
Исправление
Лучшая практика заключается в том, чтобы взять то, что дает ваш драйвер JDBC, и от этого создавать объекты Java 8, java.time. *. В конце концов, должны выйти новые драйверы JDBC, которые автоматически будут использовать новые классы java.time. *. До тех пор некоторые методы были добавлены к классам java.sql.*
, чтобы взаимодействовать с java.time, например, toInstant
и toLocalDateTime
в Timestamp. java.sql.date
содержит только дату без времени.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Добрый день! Необходимо запустить процесс из командной строки и отследить файлы, созданные имПробовал Process Monitor - он действительно отображает...
Для примера возьмем простой примерЮзер логиниться на сайт и хочет поменять себе ник на сайте; он заполняет форму, отправляет запрос на контроллер,...