You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中如何指定MySQL列类型为LONGBLOB存储图片?

如何在Spring Boot中指定MySQL的LONGBLOB类型存储图片

要让Hibernate生成LONGBLOB类型的列,只需在@Column注解中通过columnDefinition属性显式指定数据库列类型即可,修改后的实体类代码如下:

@Data
@Entity
@Table(name = "image")
public class ImageEntity {
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Id
    @Column(name = "id_image")
    private Integer idImage;
    
    @Lob
    @Column(name = "image", nullable = false, columnDefinition = "LONGBLOB")
    private byte[] image;
}

关键说明:

  • columnDefinition = "LONGBLOB"直接告诉Hibernate在生成表结构时,该列使用MySQL的LONGBLOB类型,覆盖了@Lob默认生成的TINYBLOB/BLOB类型。
  • 无需保留@Basic注解,@Lob已经隐含了基本属性的语义,且字节数组类型默认就是基本映射。

额外注意:

确保项目中配置的Hibernate方言适配MySQL版本,比如在application.properties中配置:

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect

(MySQL 5.x版本可使用org.hibernate.dialect.MySQL5Dialect)

内容的提问来源于stack exchange,提问作者user19590290

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 22:05:56