0

用户报告我的服务正在返回错误,报告以下异常:

内部异常:com.mysql.jdbc.MysqlDataTruncation:数据截断:第 1 行的列“lastRegResult”的数据太长

错误代码:1406

有问题的列定义为VARCHAR(120),我尝试存储的数据很可能有时会更长。我预计数据会被静默截断,但似乎我错了。

我可以在调用之前将数据缩短到 120 个字符setLastRegResult,但我不想在我的代码中使用硬编码常量 120,这样如果数据库列大小发生变化,我就不必更新它。我怎样才能干净地做到这一点?

一个解决方案可能是:

  • 如何读取列的大小以便我自己截断它?
  • 或者,我如何告诉 JPA 为我执行截断?
4

0 回答 0