A在执行UPDATE这一刻才锁定数据,锁定后的数据,在执行锁定当时那一刻之前是可以被B更改的,但被B更改后,A在UPDATE时会收到一错误消息:“乐观并发检查失败。已在此游标之外修改了该行。”因为认为别人不会同时修改数据。乐观锁,乐观锁在 *** 作数据时非常乐观,乐观锁每次写数据都不会上锁是因为认为别人不会同时修改数据,因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据,别人修改了数据则放弃 *** 作,否则执行 *** 作。你hibernate中的乐观锁出问了,原因很可能是你在做更新或删除 *** 作时的问题
注意这句:Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)
大概的意思是这个错误和你的事物管理有关,只能帮你到这
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)