4

在spring-roo实体中,我定义了一个content字段来记录文章的内容:

@NotNull
private String content;

但是在 mysql 字段中,它映射到 varchar(255),它太短了,无法记录文章的内容,所以抛出了以下异常:

ERROR org.hibernate.util.JDBCExceptionReporter - Data truncation: Data too long for column 'content' at row 1

我的问题是mysql中的大字符串字段类型是什么?(在access db中,是“memo”),如何在Spring Roo中定义这个注解,让它记录更多的数据?谢谢

4

2 回答 2

5

一种选择是添加 Size 注释,例如

@NotNull
@Size(max = 500)
private java.lang.String content;

另一种选择是使用 LOB 字段:

@NotNull
@Lob
private byte[] content;

如果我需要一个大于大约 255 个字符的字符串字段,我通常使用 LOB 字段。但是,请注意,通常不可能在 LOB 字段内搜索数据。

于 2012-07-30T17:18:00.963 回答
1

尝试

@Column(columnDefinition="varchar(255)")
于 2012-07-30T20:06:15.917 回答