如何防止“数据截断:数据过长异常”

时间:2013-02-15 08:39:36

标签: java mysql jpa glassfish jersey

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

  

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

     

错误代码:1406

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

我可以在调用setLastRegResult之前将数据缩短为120个字符,但是我不希望在我的代码中有一个硬编码常量120,所以如果数据库列大小会改变,我不需要更新它。我怎么能干净利落地做到这一点?

解决方案可能是:

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

0 个答案:

没有答案