hibernateTemplate flush()和clear()方法有什麼區別?哪一個使用時?hibernateTemplate Flush()和clear()方法有什麼區別?
我有以下代碼
public void saveAllReportRoomRes(List<ReportRoomRes> reportRoomResList) throws DataAccessException {
hibernateTemplate.saveOrUpdateAll(reportRoomResList);
hibernateTemplate.flush();
}
我稱之爲循環此方法,它通過每個時間的記錄列表(總記錄可以是2個以上LACS)。因爲我的代碼在事務中,有時在後續的迭代中,如果hibernate發現相同的主鍵(我有複合主鍵)對象,它會拋出NonUniqueObject異常。但實際上它需要更新之前插入的記錄。
如果我用戶HibernateTemplate.clear(),它正在工作。
也是保存或更新大量記錄的好方法嗎?因爲這是我通常的情況,我在一定的時間間隔將數據從一個數據庫複製到另一個數據庫。
你說過:使用Batch更新大量記錄。什麼是批次?其他框架如春天批量? –
是的。我只提到spring批處理模板 –