2013-08-06 53 views
0

我正在寫一個腳本來使用休眠從一個文件加載到一個mysql數據庫中的記錄。我正在使用事務處理批量爲1000的記錄,如果記錄已經存在於數據庫中,則插入操作將失敗,這實際上會使整個事務回滾。是否有辦法知道回滾事務中處理的記錄是什麼?如何獲得休眠失敗的事務詳細信息

另外,考慮到這種情況,有沒有更好的方法來做到這一點?請注意,該腳本每天運行,並且不是一次性加載,並且該文件通常每天將有大約2.5億條記錄。

回答

0

您可以使用StatelessSession API並檢查ConstraintViolationException;您可以丟棄沒有回滾事務的失敗記錄。

+0

我不想放棄失敗記錄,我希望將詳細信息保存到文件中,因此我需要一種方法來了解在trasaction中哪些記錄失敗 – Aryan

+0

檢查'ConstraintViolationException'和catch-block日誌失敗的記錄。 –

相關問題