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



我使用Hibernate与MS SQL Server。当我尝试存储我的实体bean时,我一直得到:"SQL错误8152 sqlstate 22001"one_answers"字符串或二进制数据将被截断"。

我没有发现这个问题。

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

通常,如果列定义得太小(比如试图在定义为varchar(256)的列中存储300个字符的字符串),就会发生这种情况。但我的情况不同:

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

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

@ManyToOne
public myEntity getMyEntity() {
  return myEntity;
}

我把它定义为一个普通的列:

@Column
public myEntity getMyEntity() {
  return myEntity;
}

也许这对其他人有帮助。

原因,对我来说,是试图把一些太大的放到无法容纳

我认为问题可能是别的-没有-我只是检查了错误的列

我的建议是

  1. 查找抛出错误的示例
  2. 检查和检查每个列的长度与您的示例。

相关内容

  • 没有找到相关文章

最新更新