Я подключаюсь к mysql серверу, используя следующий DSN: jdbc:mysql://localhost/my_database?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
.
Проблема, которую я получаю, состоит в том, что экземпляр java.sql.Date
получает часовой пояс, преобразованный в UT C из мой местный часовой пояс. Мое приложение обрабатывает даты как часовые пояса c, и это вызывает несколько проблем.
Например, я нахожусь в IST (UTC + 05: 30), когда я устанавливаю поле даты, чтобы сказать '2020 -01-22 'в коде, он отправляется на сервер как' 2020-01-21 '. Я подтвердил это из общего журнала mysql.
Я пробовал несколько комбинаций useLegacyDatetimeCode
, useTimezone
и noTimezoneConversionForDateType
, но до сих пор не смог получить mysql драйвер для пропуска преобразования поля даты.
Как получить драйвер mysql, чтобы пропустить преобразование для полей даты и времени?
Я пробовал обе версии 6 и 8 из Разъем / J драйвера mysql:mysql-connector-java:<version>
. Кроме того, я использую JOOQ и использую простой конвертер для преобразования между LocalDate
и java.sql.Date
.