两个人取得同一个版本的数据,离线在web上编辑后,同时或不同时保存,我怎么保证第一个成功,第二个失败,注意是在离线状态。
我的一个办法是,把数据的版本号一同传递保存,但是没有效果。代码如下
[code="java"]
public boolean updateStatus(String ornano, int status, String userid,Integer version) {
Material ml = this.findByOrnano(ornano);
ml.setStatus(new Integer(status));
ml.setLastUpdateBy(new Long(userid));
ml.setLastUpdateDate(new Date());
ml.setVersion(version.intValue());
this.merge(ml);
return true;
}
[/code]
当我设置一个比数据库版本更低的版本号,使数据过期,数据仍然能更新成功!,而且数据库的版本号也递增了。
有没有更好的办法?