Как я могу указать Hibernate для сопоставления даты Java с столбцом Oracle DATE
с использованием часового пояса, отличного от местного часового пояса?Как настроить Hibernate для сопоставления даты Java с столбцом Oracle DATE с использованием часового пояса, отличного от местного часового пояса?
ответ
Я не уверен, но я думаю, что вам нужно будет использовать метод OracleConnection.setSessionTimeZone(String regionName)
для установки часового пояса сеанса.
Чтобы сделать это на OracleConnection
, прежде чем иметь с ним Hibernate, самым чистым способом было бы обеспечить и использовать пользовательскую реализацию o.h.c.ConnectionProvider
.
См. Это related question.
Hibernate не позволяет указывать часовые пояса по аннотации или любым другим способом. Если вы используете календарь вместо даты, вы можете реализовать обходное решение с использованием свойства HIbernate AccessType и реализовать само отображение. Более продвинутое решение заключается в реализации пользовательского UserType для сопоставления даты или календаря. Оба решения объясняются в этом сообщении в блоге: http://dev-metal.blogspot.com/2010/11/mapping-dates-and-time-zones-with.html
Joobik, в вашей статье вы утверждаете, что Hibernate переводит часовой пояс данной даты: «Итак, что делает Hibernate, использует расписание часового пояса своего JVM (которое работает в CET) для преобразования независимого от часового пояса java.util .Данная к строкой даты в конкретном часовом поясе в нашей записи БД. Поскольку CET - на час раньше GMT, в нашу дату DB добавлен один час ». Однако, согласно http://stackoverflow.com/questions/4123534/before-writing-a-java-date-to-an-sql-timestamp-column-does-jdbc-translate-the-da/4124620#4124620, это драйвер JDBC, который переводит часовой пояс, а не Hibernate. –
- 1. IOS: конвертирование UTC часового пояса для устройства местного часового пояса
- 2. java date pattern для часового пояса без ":"
- 3. XmlSchemaType "date" - без часового пояса?
- 4. Получение правильного смещения часового пояса в Python с использованием местного часового пояса
- 5. Преобразование часового пояса Java
- 6. Автоматическая настройка местного часового пояса w/DST
- 7. Настройка часового пояса PHP
- 8. Изменение часового пояса объекта Date в Java?
- 9. Moment.JS с использованием часового пояса
- 10. Даты чтения неправильного часового пояса
- 11. Получить смещение часового пояса от имени часового пояса в C++
- 12. Изменение часового пояса От UTC до нового часового пояса
- 13. Скрытое GMT время местного часового пояса - вопросы
- 14. Формат даты часового пояса в Oracle
- 15. sql расчет часового пояса
- 16. Настройка часового пояса для neo4j.log
- 17. Как получить смещение часового пояса для известной строки часового пояса?
- 18. Локализация часового пояса Django
- 19. облицовку часового пояса с даты в igDateEditor
- 20. Fetching часового пояса с даты сервера
- 21. Python часового пояса разборе
- 22. Изменение часового пояса Javascript
- 23. ДСТ час от местного часового пояса БД с помощью JDK8
- 24. Разбор часового пояса Java SimpleDateFormat
- 25. Изменение часового пояса с использованием php
- 26. PHP: Установка часового пояса для даты
- 27. Помощник часового пояса для CakePHP
- 28. Поддержка часового пояса ColdFusion?
- 29. Изменение часового пояса для переменной Date
- 30. Postgresql в Oracle Sql для часового пояса
Возможно, я просто нормализую дату до целевого часового пояса, прежде чем передавать ее в Hibernate для хранения в таблице. –
@Derek Звуки проще. –
Паскаль, JDBC переводит часовой пояс JVM в часовой пояс базы данных? Я просто задал этот вопрос по адресу http://stackoverflow.com/questions/4123534/before-writing-a-java-date-to-an-sql-timestamp-column-does-jdbc-translate-the-da. –