歡迎您光臨本站 註冊首頁
小知識  >  Spring >

spring事務管理與批量增加操作相關問題

admin @ 2017-12-03 reply:0
←手機掃碼閱讀

Hibernate有個回調介面HibernateCallback() ,事務可由Spring管理,具體例子可以Google
想要指定每次批量操作的數可以這樣
public void batchSaveData(final List<?> dataList,final int batchCount) {
return this.getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernat(Session session) throws HibernateException, SQLException {
for (int i = 0; i < dataList.size(); i++) {
session.save(dataList.get(i));
//如果想每1000條一次批處理,調用方法時batchCount傳入1000
if (i % batchCount== 0) {
session.flush();
session.clear();
}
//保存剩餘的數據
session.flush();
session.clear();
}
return null;
}
});
}


[admin via ] spring事務管理與批量增加操作相關問題已經有579次圍觀

http://coctec.com/room/show-861.html