0
我正在寫一個腳本來使用休眠從一個文件加載到一個mysql數據庫中的記錄。我正在使用事務處理批量爲1000的記錄,如果記錄已經存在於數據庫中,則插入操作將失敗,這實際上會使整個事務回滾。是否有辦法知道回滾事務中處理的記錄是什麼?如何獲得休眠失敗的事務詳細信息
另外,考慮到這種情況,有沒有更好的方法來做到這一點?請注意,該腳本每天運行,並且不是一次性加載,並且該文件通常每天將有大約2.5億條記錄。
我正在寫一個腳本來使用休眠從一個文件加載到一個mysql數據庫中的記錄。我正在使用事務處理批量爲1000的記錄,如果記錄已經存在於數據庫中,則插入操作將失敗,這實際上會使整個事務回滾。是否有辦法知道回滾事務中處理的記錄是什麼?如何獲得休眠失敗的事務詳細信息
另外,考慮到這種情況,有沒有更好的方法來做到這一點?請注意,該腳本每天運行,並且不是一次性加載,並且該文件通常每天將有大約2.5億條記錄。
您可以使用StatelessSession
API並檢查ConstraintViolationException
;您可以丟棄沒有回滾事務的失敗記錄。
我不想放棄失敗記錄,我希望將詳細信息保存到文件中,因此我需要一種方法來了解在trasaction中哪些記錄失敗 – Aryan
檢查'ConstraintViolationException'和catch-block日誌失敗的記錄。 –