在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中,是“备忘录”),如何在Spring Roo中定义这个注解,让它记录更多的数据?谢谢

最佳答案

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

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

另一种选择是使用 LOB 字段:
@NotNull
@Lob
private byte[] content;

如果我需要一个大于 255 个字符的 String 字段,我通常使用 LOB 字段。但是,请注意,通常无法搜索 LOB 字段内的数据。

关于jpa - Spring Roo注解(或jpa注解)实体中如何定义大字符串,varchar(255)不够用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11722978/

10-10 12:34