兩進程修改數據庫,不同步問題的解決辦法

一個進程不斷查詢數據庫,看某個字段時候已經被修改,如果修改則做下一步工作;如果沒有修改繼續循環查詢

另外一個進程由用戶操作去更新數據庫中的這個字段

 

問題是,在上面這樣的場景中,查詢數據庫的進程根本看不到數據被修改

 

解決辦法:

 

給第一個查詢部分也加上事務管理的代碼(一般情況下,對於修改,更新部分的代碼才進行事務的管理,而這種查詢代碼都是直接查詢的)

 

TasksDAO dao = new TasksDAO();
				Transaction tran = dao.getSession().beginTransaction();
				Tasks task = dao.findById(id);
				tran.commit();
				dao.getSession().close();
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章