数据异常:字符串数据,右截断错误

data exception: string data, right truncation error

我正在将休眠版本从 5.1.17 升级到 5.4.11。 我收到此错误 java.sql.sqldataexception data exception: string data, right truncation; table:tablename colum: columnname.

当我在数据库中查看时,该列被声明为VARCHAR2(4000 BYTE)。我在 运行 一个文件中有数据的测试用例时得到了这个。如果我减少与此列相关的数据,那么它正在工作。

是旧审计table。 我必须对此专栏进行哪些更改以及如何更改?

我们有自定义 HSQLDialect class,我尝试将列类型注册为

registerColumnType(Types.VARCHAR, "clob/varchar2/nvarchar" ); 但我得到 user lacks privilege or object not found:

有人可以解释为什么仅在休眠升级后它会失败(它在早期版本中工作正常)以及如何修复它吗?

Hibernate version: 5.4.11 HSQLDB version: 2.3.3 hibernate-search-orm: 5.11.5.Final lucene.version: 5.5.5

根据https://hibernate.atlassian.net/browse/HHH-13886#icft=HHH-13886

,这是一个休眠问题

我的专栏定义为

@Column(columnDefinition = "VARCHAR(4000)") private int caseNumber;

应该改成

@Column(length = 4000) private int caseNumber;

只有标记为 @Audited 的实体才需要更改。

现在,我的测试用例工作正常。

有关详细信息,请参阅此内容:https://hibernate.atlassian.net/secure/ReleaseNote.jspa?version=31818&styleName=Html&projectId=10031