5

興味深いのは、エンティティ内にあることです。

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

エンティティを作成する前に、サイズが正しいことを確認しました。

4

1 に答える 1

7

JPA docによると、「長さ」は文字列プロパティにのみ使用されます。

(オプション) 列の長さ。(文字列値の列が使用されている場合にのみ適用されます。)

ツールを使用して DDL を自動的に生成する場合は、「columnDefinition」属性を使用できます。

@Column(columnDefinition = "LONGBLOB") 
private byte[] content;
于 2012-04-26T08:36:29.637 に答える