hibernate - 如何以编程方式设置休眠时区?
问题描述
我有Spring Boot Data JPA
使用时区运行的项目UTC
。该项目与MSSQL
使用时区运行的数据库进行通信CST
。
现在我明白了,如果我想指示 spring boot 项目考虑数据库时区,我有以下 2 个选项。
- 将默认时区更改
JVM
为CST
; 我不想这样做,因为我只想保留 Spring Boot 应用程序的时区UTC
。 - 在
application.properties
文件中,设置属性spring.jpa.properties.hibernate.jdbc.time_zone=America/Chicago
以便hibernate可以将日期从转换UTC
为CST
每当记录插入/更新/读取数据库时。
第二种选择对我很有用;但是,我有一种情况,底层数据库可以更快地部署在具有另一个时区的不同数据存储上。因此,我想让时区属性可配置(通过可配置,我的意思是我会将这个时区设置为环境变量,这样我就不再需要spring boot
重新启动应用程序了)。
有没有办法以spring.jpa.properties.hibernate.jdbc.time_zone
编程方式设置属性?
解决方案
推荐阅读
- asp.net-core - 无法从剃刀页面中的列表更新用户身份角色
- xml - 使用 Saxon 和 xslt Stylesheet 合并两个 xml 文件并获得一个 xml 输出
- python - 如何在烧瓶中传递和显示图像列表
- python-3.x - 返回重定向不会传递参数
- python-3.x - django admin filter_list by manytomany 归档
- javascript - 如何在 React 中更改 OrbitControl 目标?
- docker - 使用 helm chart kubernetes 部署 wildfly 应用程序
- python - 让玩家在 Pygame 中创建和访问其帐户需要什么?
- javascript - 滚动到底部(和强制回流性能问题)
- java - 如何将文件上传到 Sharepoint?