Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate无法识别脚本中的列长度。它使用默认值,并且为列错误提供的数据太长_Java_Mysql_Sql_Hibernate_Spring Data - Fatal编程技术网

Java Hibernate无法识别脚本中的列长度。它使用默认值,并且为列错误提供的数据太长

Java Hibernate无法识别脚本中的列长度。它使用默认值,并且为列错误提供的数据太长,java,mysql,sql,hibernate,spring-data,Java,Mysql,Sql,Hibernate,Spring Data,我使用脚本来生成表,而不是hibernate自动生成。有一个长度为5000的varchar列 create table my_code ( cc_id bigint not null auto_increment unique, description varchar(5000), primary key (cc_id) ) ENGINE=InnoDB 在我的类中,我有一个描述字段: @Column(name = "description", length=5000)

我使用脚本来生成表,而不是hibernate自动生成。有一个长度为5000的varchar列

create table my_code (
    cc_id bigint not null auto_increment unique,
    description varchar(5000),
    primary key (cc_id)
) ENGINE=InnoDB
在我的类中,我有一个描述字段:

@Column(name = "description", length=5000)
private String description;
但当我插入一个长度为300的字段时,它抛出:

数据截断:对于第1行的“说明”列,数据太长


它接受任何低于255的默认值。为什么它的长度不能达到5000

该问题与另一个表有关。我们还有一个带有字段“description”的审计表。一旦我增加了审计表描述字段的大小,错误就消失了。不幸的是,hibernate抛出的错误没有说明错误是在哪个表上抛出的,我假设它在常规表上。

如果要存储长文本,最好使用文本类型。请参见此线程