在spring-roo实体中,我定义了一个内容字段来记录文章的内容:
@NotNull
private String content;
但是在mysql字段中,它映射到varchar(255),它太短而无法记录文章的内容,因此引发了以下异常:
ERROR org.hibernate.util.JDBCExceptionReporter - Data truncation: Data too long for column 'content' at row 1
我的问题是mysql中的大字符串字段类型是什么? (在访问数据库中,它是“备忘录”),如何在Spring Roo中定义此注释以使其记录更多数据?感谢
答案 0 :(得分:5)
一种选择是添加尺寸注释,例如
@NotNull
@Size(max = 500)
private java.lang.String content;
另一种选择是使用LOB字段:
@NotNull
@Lob
private byte[] content;
如果我需要一个大于255个字符的字符串字段,我通常使用LOB字段。但请注意,通常无法在LOB字段内搜索数据。
答案 1 :(得分:1)
尝试
@Column(columnDefinition="varchar(255)")