【问题标题】:Java 8 java.time not mapped to mysql properlyJava 8 java.time 未正确映射到 mysql
【发布时间】:2019-08-10 13:35:09
【问题描述】:

当我尝试通过 spring 数据在 MySQL 中保存 java.util.time -> LocalDate 或 Instant 时,它会捕获它,但不是以人类可读的格式而不是某种外星语言。 MySQL中的数据类型变成了tinyblob。

现在的问题是,我无法直接进行任何与日期相关的查询。就像我想获取所有不超过 10 分钟的数据来运行以下查询但没有得到任何结果。虽然有数据。

select * from time_slot_history where updated_date > date_sub(now(),interval 10 minute);

【问题讨论】:

  • 那么您可能使用的是相当旧的 Hibernate 版本。不要。
  • 不,我使用的是最新版本的 Hibernate。我也尝试使用 Jsr310JpaConverters 但有很多例外
  • 尝试将java.util.time 转换为java.sql.time
  • 可以把实体的代码贴出来吗?

标签: mysql hibernate spring-boot java-8


【解决方案1】:

我用的是spring boot 2.1.5或者2.1.6,LocalDateTime可以直接保存到mysql。但是当我使用springboot 1.5.x的时候,我记得我必须手动添加jackson-datatype-jdk8、jackson-datatype-jsr310、org.hibernate:hibernate-java8来使mysql和jaskson支持LocalDateTime。

也许你可以尝试添加“org.hibernate:hibernate-java8”

【讨论】:

    猜你喜欢
    • 2020-08-02
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多