Spring jpa hibernate mysql LocalDate在坚持一天后关闭

Posted

技术标签:

【中文标题】Spring jpa hibernate mysql LocalDate在坚持一天后关闭【英文标题】:Spring jpa hibernate mysql LocalDate off one day after persist 【发布时间】: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 有帮助吗? 【参考方案1】:

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

【讨论】:

以上是关于Spring jpa hibernate mysql LocalDate在坚持一天后关闭的主要内容,如果未能解决你的问题,请参考以下文章

spring.jpa.hibernate.hbm2ddl 和 spring.jpa.hibernate.ddl 之间的区别

JPA---Spring-data-JPA---Hibernate

JPA---Spring-data-JPA---Hibernate

Spring + Hibernate + JPA [关闭]

Spring Hibernate JPA 联表查询

Spring Hibernate JPA 联表查询 复杂查询