シナリオ:私は、XMLSを受信し、それらを解析サーブレットは(JAXBを使用して)、MySQLのDBに解析されたデータを持続しているSQLエラー - 日時のデータ切り捨て - 使用したJava /休止/タイムスタンププロパティ
(使用hibernate)、将来の参照のためにXMLのコピーも保存します。 解析に失敗したときにもこのxmlを保存します。 これらのケースでは、エラーの概要を記載した電子メールを受け取り、保存されたxmlで何が問題になったかの手がかりを確認します。
操作はかなりスムーズに実行されます。サーブレットは1日あたり数千xmlのXMLを受信します。
問題:
は、少なくとも一日一回私はこのようなエラーが出る:
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側のdatetime型で、java側のjava.sql.Timestamp
です。
私は、正しい日付形式を参照してください受け取ったXMLを見てみましょう:「2012年1月22日15時20分51秒」
間違っている可能性がどのような任意のアイデア?
本当に奇妙に見えます。私はこのテーブルにデータを挿入する別のプロセスがあると思われます(多分HibernateではなくHQL?)。 'org.hibernate.SQL = TRACE'ログレベルを設定して、ソースが期待どおりになっていることを確認してください。 –
私は数日後にこれを試してみて、何か別のものに取り組んでいます... – samz