Сохранение часового пояса при сохранении с помощью репозитория Spring - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь сохранить объект в базе данных H2, используя репозиторий Spring. Мне нужно сохранить исходный часовой пояс, но он конвертируется в локальную зону.

У меня есть объект с полем ZonedDateTime dateTime, и он помечен @Column(columnDefinition= "TIMESTAMP WITH TIME ZONE"), поэтому в H2 значение сохраняется с часовым поясом. Для сохранения я использую репозиторий extends JpaRepository, поэтому просто jpaRepository.save(entity).

2019-10-04T15: 59: 50.869-04: 00 [America / New_York] становится 2019-10-04T19: 59: 50.869+ 03:00 [Европа / Москва] что неуместно в моем случае. Есть ли какие-либо свойства, препятствующие конвертации в локальную зону?

1 Ответ

0 голосов
/ 31 марта 2020

После некоторого расследования, я не думаю, что вы можете заставить это работать (т.е. TIMESTAMP с зоной времени + JDB C драйвер + база данных + Hibernate / JPA).

Итак, что бы я сделал :

  • Сохраните свою временную метку в UT C.
  • Сохраните часовой пояс пользователя отдельно.
  • При необходимости покажите ему временную метку в соответствии с его часовым поясом.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...