有趣的是,在实体中:
public static final int maxContentSize = 2097152; //2Mb
@Lob
@Column(length=maxContentSize)
private byte[] content;
@Column(length = 100)
private String mimetype;
@Column(length = 50)
private String fileName;
但是,一些文件(65-70k大小)插入正常,但大多数文件都会出错:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'CONTENT' at row 1
我已经检查过,在创建实体之前,尺寸是正确的。
答案 0 :(得分:7)
根据JPA doc,“length”仅用于String属性。
(可选)列长度。 (仅在使用字符串值列时适用。)
如果您使用工具自动生成DDL,则可以使用“columnDefinition”属性
@Column(columnDefinition = "LONGBLOB")
private byte[] content;