首页 > 解决方案 > 在 MySQL 中 Hibernate 将 YearMonth 存储为 Blob 而不是文本

问题描述

Spring Boot 2.3.0 项目正在 MySQL 8.0 中存储数据。(jdk 9)

JPA 类具有 Java 8 YearMonth 字段

@Data
@Entity
public class Version {
    ...
    private YearMonth releaseDate;
    private LocalDateTime createdAt;

当我持久化一个版本实例时,它的存储方式如下: 在此处输入图像描述

如您所见,LocalDateTime 存储为文本,而 YearMonth 存储为 Blob。现在,当我取回实体时,它可以正常工作,并且确实获得了 YearMonth 值。

问题是我无法通过 MySQL Workbench 读取它。而且我知道 EclipseLink(JPA 的官方实现)确实将 YearMonth 保留为文本。

如何将其存储为文本而不是 BLOB?

标签: mysqlhibernatespring-bootjpaspring-data-jpa

解决方案


推荐阅读