尝试将VARCHAR'收缩到长度1000时遇到截断错误

问题描述 投票:0回答:1

我知道已经有类似的问题。

在这种情况下,字符串

BM01-20170821-139, BM01-20170727-04, BM01-20170727-05, BM01-&

显然少于1000个字符长。

这是错误消息:

javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.1.v20171221-bd47e8f): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLDataException: A truncation error was encountered trying to shrink VARCHAR 'BM01-20170821-139, BM01-20170727-04, BM01-20170727-05, BM01-&' to length 1000. Error Code: 20000

我假设它打印的字符串太长。错误消息可能仅包含一个子字符串?

jpa eclipselink derby
1个回答
0
投票

我有相同的错误,这是我对hibernate-core-4.2.7Derby的解决方案:

如果创建字符串列,它们将成为VARCHAR(255)

@Column()
    private String userName;

但是您可以增加长度,例如,通过执行以下操作可以将其增加到1000个字符:

@Column(length = 1000)
   private String description;

PS:我必须删除/删除旧表以强制创建具有正确大小的新表,还可以在@ Column界面内部进行查看,那里有一些有用的东西,例如唯一,可变,可更新

© www.soinside.com 2019 - 2024. All rights reserved.