我知道已经有类似的问题。
在这种情况下,字符串
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
我假设它打印的字符串太长。错误消息可能仅包含一个子字符串?
我有相同的错误,这是我对hibernate-core-4.2.7和Derby的解决方案:
如果创建字符串列,它们将成为VARCHAR(255)
@Column()
private String userName;
但是您可以增加长度,例如,通过执行以下操作可以将其增加到1000个字符:
@Column(length = 1000)
private String description;
PS:我必须删除/删除旧表以强制创建具有正确大小的新表,还可以在@ Column界面内部进行查看,那里有一些有用的东西,例如唯一,可变,可更新