ユーザーが私のサービスがエラーを返していると報告しており、次の例外を報告しています。
内部例外:com.mysql.jdbc.MysqlDataTruncation:データの切り捨て:行1の列'lastRegResult'に対してデータが長すぎます
エラーコード:1406
問題の列はとして定義されておりVARCHAR(120)
、そこに保存しようとしているデータが長くなる可能性があります。データが黙って切り捨てられると思っていましたが、間違っていたようです。
を呼び出す前にデータを120文字に短縮することはできますsetLastRegResult
が、コードにハードコードされた定数120を含めたくないので、データベースの列サイズが変更された場合にデータを更新する必要はありません。どうすればこれをきれいに行うことができますか?
解決策は次のとおりです。
- 自分で切り捨てられるように、列のサイズを読み取るにはどうすればよいですか?
- または、JPAに切り捨てを実行するように指示するにはどうすればよいですか?