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

标签 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

在我的类(class)中,我有一个描述字段:

@Column(name = "description", length=5000)
private String description;

但是当我插入长度为 300 的字段时,它会抛出:

Data truncation: Data too long for column 'description' at row 1

它接受低于 255(默认值)的任何值。为什么它没有获取长度 5000?

最佳答案

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

关于java - Hibernate 无法识别脚本中的列长度。它使用默认值并为列错误提供数据太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619760/

相关文章:

MySQL多表查询

php - php 中的重复值 ' found in column ' id'

MySQL 查询查找根元素

mysql - 更改 View 中列的类型?

java - 如何使用 JOptionPane 重新启动应用程序?

java - Junit - 测试不同的类

java - mongodb 数据库中的嵌套查询

mysql - 基于多对多关系进行选择的SQL查询

sql - T-SQL 返回单个值而不是累积值

java - 将多个@Id 用于复合主键时出现 Eclipse 错误