首页 > 解决方案 > 如何以编程方式设置休眠时区?

问题描述

我有Spring Boot Data JPA使用时区运行的项目UTC。该项目与MSSQL使用时区运行的数据库进行通信CST

现在我明白了,如果我想指示 spring boot 项目考虑数据库时区,我有以下 2 个选项。

  1. 将默认时区更改JVMCST; 我不想这样做,因为我只想保留 Spring Boot 应用程序的时区UTC
  2. application.properties文件中,设置属性spring.jpa.properties.hibernate.jdbc.time_zone=America/Chicago以便hibernate可以将日期从转换UTCCST每当记录插入/更新/读取数据库时。

第二种选择对我很有用;但是,我有一种情况,底层数据库可以更快地部署在具有另一个时区的不同数据存储上。因此,我想让时区属性可配置(通过可配置,我的意思是我会将这个时区设置为环境变量,这样我就不再需要spring boot重新启动应用程序了)。

有没有办法以spring.jpa.properties.hibernate.jdbc.time_zone编程方式设置属性?

标签: hibernatejpatimezone

解决方案


推荐阅读