1

シナリオ:

XMLを受信し、それらを解析し(JAXBを使用)、解析されたデータをMySQL DBに永続化し(hibernateを使用)、将来の参照のためにxmlのコピーを保存するサーブレットがあります。解析が失敗した場合にも、この xml を保存します。このような場合、エラーの概要が記載された電子メールを受け取り、保存された xml をチェックして何が問題なのかの手がかりを探します。

操作はかなりスムーズに実行されます。サーブレットは、1 日あたり数千の xml を受け取ります。

問題:

少なくとも 1 日に 1 回、次のようなエラーが表示されます。

org.hibernate.exception.DataException: could not insert ..........
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '20122012-01-22 15:20:51' for column 'createdAt' at row 1

他の「列」でもこのエラーが発生します。これらの列は、mysql 側とjava.sql.TimestampJava 側では日時型です。

受信した xml を見ると、正しい日付形式が表示されます:「2012-01-22 15:20:51」

何がうまくいかなかったのでしょうか?

4

1 に答える 1

0

最近このエラーは発生していません。私は最近、SimpleDateFormatの使用に関する同時実行の問題に対処したので、おそらくそれが問題でした。

于 2012-03-27T14:55:27.123 に答える