我有一个Spring Boot项目,我想将带有Instant变量的Java对象保存到具有JPA和休眠状态的MSSQL DB中。时间以UTC为单位(因为它是即时时间),但是在将其插入到我的数据库中之前,休眠模式似乎将其转换为本地时间。
我要保存的值:“ 2018-11-20T08:34:33.965Z”
数据库中保存的值:“ 2018-11-20T09:34:33.965”,因为数据库中的本地时间为UTC + 1。
我的实体看起来像这样:
@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')
我如何进入休眠状态以节省转换时间?
如果您需要任何其他信息,请告诉我!
答案 0 :(得分:0)
您可以使用以下属性告诉休眠状态将UTC用作默认时区:
<property name="hibernate.jdbc.time_zone" value="UTC"/>