mysql - Java 8 java.time 未正确映射到 mysql

标签 mysql hibernate spring-boot java-8

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

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

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

最佳答案

我使用的是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”

关于mysql - Java 8 java.time 未正确映射到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57442636/

相关文章:

mysql - 仅从一个表中选择不同的(名称),而该 ID 在另一个表中使用?

java - 带有 Angular 6 的 Spring Boot JWT CORS

java - Hibernate 一对一映射。仅插入外键而不是整个新行

java - Spring | hibernate | thymeleaf : Neither BindingResult nor plain target object for bean name 'id' available as request attribute

java - spring boot 启动失败

java - @WebMvcTest 在 spring 启动测试中为不同的服务给出 'Error creating bean with name' 错误

mysql - Join 产生重复行并忽略Where 语句

php - 将 PHP 变量分配给 HTML 按钮以更改 mysql 获取的表结果

php - 插入大约30次MYSQL

mysql - Spring Roo - 多对多关系在每次更新时删除和插入 - 如何更改此行为