0

我想用 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 创建表?

谢谢!

4

2 回答 2

1

你没有说你正在使用哪个数据库/版本,但它听起来像是一个 MySQL 版本,varchar 的最大长度为 255。最新版本支持更大的 varchars。

由于您指定的值 > 255,因此它使用的是 longtext。

MySQL 5.0.3 和更高版本支持长度为 65,535 的 varchars - 早期版本只有 255。

于 2012-07-13T14:42:22.910 回答
-1

这是 JPA 提供程序配置的问题。更好的解决方案是使用 DDL 创建表。

于 2012-07-13T14:41:28.910 回答