休眠:SQL 错误 8152 - 字符串或二进制数据将被截断

Sch*_*sch 4 java hibernate truncate

我正在将 Hibernate 与 MS SQL Server 一起使用。当我尝试存储我的实体 bean 时,我不断收到:“SQL 错误 8152 sqlstate 22001”和“字符串或二进制数据将被截断”。

我在任何地方都没有发现这个问题。

Sch*_*sch 5

我终于解决了它并想在这里分享解决方案,以防其他人有同样的问题。

通常,如果列定义太小(例如尝试在定义为varchar(256)的列中存储具有 300 个字符的字符串),则会发生这种情况。但就我而言,情况有所不同:

解决方案:当我在hibernate中定义带有注释的表时,我错误地定义了到另一个表的链接。

而不是将其定义为多对一:

@ManyToOne
public myEntity getMyEntity() {
  return myEntity;
}
Run Code Online (Sandbox Code Playgroud)

我将其定义为普通列:

@Column
public myEntity getMyEntity() {
  return myEntity;
}
Run Code Online (Sandbox Code Playgroud)

也许这对其他人有帮助。