关于防止丢失更新,tom讲了两点:悲观锁定和乐观锁定
悲观锁定适用于 有状态 或 有连接 的情况,如老式的c/s程序,一个应用一直保持一个连接不放。这种情况下使用select for update 锁定行。防止他人更新。
乐观锁定是很乐观的认为别人不会修改,所以也不会使用锁。而是使用update a set a.name=:new.name where a.id=id and a.name=:old.name
到这里应该很明白了,乐观锁定就是设置一个值,通过这个值来确认是否表已经被修改。副作用就是交叉修改的时候,总会提示修改失败。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15116811/viewspace-512214/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15116811/viewspace-512214/
753

被折叠的 条评论
为什么被折叠?



