Запрет Hibernate от преобразования Мгновенного в Местное время перед вставкой в ​​БД - PullRequest
0 голосов
/ 20 ноября 2018

Я получил проект Spring Boot и хочу сохранить объект Java с переменной Instant в моей базе данных MSSQL с помощью JPA и спящего режима.Время указано в формате UTC (так как оно является мгновенным), но похоже, что hiberate преобразует время в местное время, прежде чем вставить его в мою БД.

Значение, которое я хочу сохранить: "2018-11-20T08:34: 33.965Z "

значение, сохраненное в БД:" 2018-11-20T09: 34: 33.965 ", поскольку местное время в БД - UTC + 1.

My Entityвыглядит примерно так:

@Entity(name = "MyEntity")
public class MyEntity {

private Instant myTime;
}

мой репо:

@Repository
public interface MyEntityRepo extends CrudRepository<MyEntity, String>{}
dependencies in build.gradle

мои зависимости:

compile("org.springframework.boot:spring-boot-starter-data-jpa:1.1.12.RELEASE")
compile('org.hibernate:hibernate-java8:5.0.12.Final') 

Как мне перейти в спящий режим, чтобы просто сэкономить время с конвертированиемэто?

Если вам нужна дополнительная информация, дайте мне знать!

1 Ответ

0 голосов
/ 25 ноября 2018

Вы можете указать hibernate использовать UTC в качестве часового пояса по умолчанию, используя следующее свойство:

<property name="hibernate.jdbc.time_zone" value="UTC"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...