Hibernate,MySQL - 数据截断:列异常消息的数据太长

时间:2012-09-03 16:30:31

标签: java mysql hibernate jpa truncation

我理解这条消息的含义,但我不明白为什么要传递这条消息。我这样说是因为我不想更新这个字段。

列定义:

@Column(name="company_name")
private String companyName;

然后我使用EntityManager创建一个Query。

查询

query = em.createQuery("update Client set companyName = :companyName" +
                " where id = :id");

query.setParameter("companyName", client.getCompanyName());
query.setParameter("id", client.getId());

query.executeUpdate();

例外情况为:Data truncation: Data too long for column 'company_cnpj' at row 1

但我没有改变'company_cnpj'行。为什么它会给我这个错误?

1 个答案:

答案 0 :(得分:2)

数据库中的字符串总是有一个长度;因为你没有指定一个,它默认为255.这篇文章告诉你如何改变它:

hibernate property string length question