我想用varchar(700)在数据库中创建一个文本字段(我想要最多700个字符)。 我试着像这样定义:
@Entity
@Table(name = "t_foo)
public class Foo {
@Column(unique = true, nullable = false)
@Id
private String idNational;
@Column(length=700)
private String comment;
...
表生成具有以下属性:
idNational varchar(255) NOT NULL
comment longtext NULL
我真的希望评论是varchar(700)。是否有理由将其作为一个长篇大论?有没有办法让它变成varchar?也许这是一个简单的问题,但我还没有找到解决方案!我是否必须使用DDL创建表?
谢谢!
答案 0 :(得分:1)
您没有说明您正在使用哪个数据库/版本,但它听起来像是版本的MySQL,最大长度为255,用于varchar。最新版本支持更大的varchars。
由于您指定了值> 255,它使用longtext代替。
MySQL 5.0.3及更高版本支持varchars,长度为65,535 - 早期版本只有255。
答案 1 :(得分:-1)
JPA提供程序配置存在问题。 更好的解决方案是使用DDL创建表。