0

ユーザーが私のサービスがエラーを返していると報告しており、次の例外を報告しています。

内部例外:com.mysql.jdbc.MysqlDataTruncation:データの切り捨て:行1の列'lastRegResult'に対してデータが長すぎます

エラーコード:1406

問題の列はとして定義されておりVARCHAR(120)、そこに保存しようとしているデータが長くなる可能性があります。データが黙って切り捨てられると思っていましたが、間違っていたようです。

を呼び出す前にデータを120文字に短縮することはできますsetLastRegResultが、コードにハードコードされた定数120を含めたくないので、データベースの列サイズが変更された場合にデータを更新する必要はありません。どうすればこれをきれいに行うことができますか?

解決策は次のとおりです。

  • 自分で切り捨てられるように、列のサイズを読み取るにはどうすればよいですか?
  • または、JPAに切り捨てを実行するように指示するにはどうすればよいですか?
4

0 に答える 0