如何明确设置H2应该使用的时区?现在它获得了从底层操作系统使用的时区.我会假设存在一个额外的参数,我将添加到连接字符串ala我下面的那个.
db.url=jdbc:h2:mem:mybipper;MVCC=true;<timezone=UTC>
Run Code Online (Sandbox Code Playgroud)
在 2.x 版本的 H2 数据库中,可以在 jdbc url 中设置时区。
h2database 文档中也列出了这一点。那里的例子说jdbc:h2:./test;TIME ZONE='1:00',这对我不起作用。
实际上使用 UTC 的可行解决方案是
jdbc:h2:mem:./my_database;TIME ZONE=UTC
Run Code Online (Sandbox Code Playgroud)
在与数据库交互之前,您可以操作 JVM 时区:
TimeZone.setDefault(TimeZone.getTimeZone("UTC"))
Run Code Online (Sandbox Code Playgroud)
不幸的是,H2 不支持每个连接的时区......但。
帮助我的是为 JDBC 而不是 JVM 设置时区配置,这似乎也更合理和更清晰,因为它只影响数据库而不是整个 JVM:
spring.jpa.properties.hibernate.jdbc.time_zone=UTC
Run Code Online (Sandbox Code Playgroud)
我对另一个问题的回答可能有助于提供更多信息。
您无法设置数据库的时区。
但是,我不知道 H2 对大多数操作使用时区(至少不是 H2 的当前版本)。
那么,你想解决什么问题呢?
| 归档时间: |
|
| 查看次数: |
6452 次 |
| 最近记录: |