日期:2014-05-16 浏览次数:20528 次
一个进程不断查询数据库,看某个字段时候已经被修改,如果修改则做下一步工作;如果没有修改继续循环查询
另外一个进程由用户操作去更新数据库中的这个字段
?
问题是,在上面这样的场景中,查询数据库的进程根本看不到数据被修改
?
解决办法:
?
给第一个查询部分也加上事务管理的代码(一般情况下,对于修改,更新部分的代码才进行事务的管理,而这种查询代码都是直接查询的)
?
TasksDAO dao = new TasksDAO(); Transaction tran = dao.getSession().beginTransaction(); Tasks task = dao.findById(id); tran.commit(); dao.getSession().close();?