【问题标题】:Spring jpa hibernate mysql LocalDate off one day after persistSpring jpa hibernate mysql LocalDate在坚持一天后关闭
【发布时间】:2018-04-24 00:09:19
【问题描述】:

每当我将 LocalDate 持久保存到 MySQL 数据库时,日期都会存储一天(2017 年 11 月 11 日变为 2017 年 11 月 10 日)。我已经尝试在 MySQL 服务器上的应用程序中设置时区并将 legacyDateTimeCode 设置为 false,但问题仍然存在。关于如何解决它的任何想法?如果我切换到本地 h2 数据库,则日期存储正确。

Spring-boot-starter-parent:1.5.7 休眠 5.2.10 mysql: 5.7 LocalDate 存储在 DATE 字段中

【问题讨论】:

  • 通过 JPA 检索时,该值是正确的还是仍然关闭?
  • 它在数据库和应用程序中关闭,这就是我好奇的原因。我认为这可能是因为不同的时区设置,这就是为什么我在 mysql 服务器和应用程序中将它们设置为相同的原因。但即便如此,它也关闭了。
  • 嗯...运行它的实际机器 (OS) 的时区?我记得几年前有这个问题,不幸的是不再记得细节了。
  • mysql 和应用服务器的UTC
  • this answer 有帮助吗?

标签: mysql hibernate jpa jdbc localdate


【解决方案1】:

在属性文件中添加 spring.jpa.properties.hibernate.jdbc.time_zone : UTC

【讨论】:

    猜你喜欢
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 2016-10-20
    相关资源
    最近更新 更多