在更新可能由多个会话更新的域对象时,我对最佳实践感到好奇。
发生的调用是来自g:remoteField标记的AJAX。它接受值并更新域对象:
person.refresh()
person.isLeader = true
person.save(flush:true)
我在更新之前添加了刷新,因为值可能不同。
这是处理此问题的最佳方法吗?有没有更好的方法来处理更新?如果两个人在这种情况下同时更新,我并不特别在意。
答案 0 :(得分:1)
一般来说,我更倾向于将乐观锁定do it's job和override放在我明确不关心用户是否踩到彼此的更改的地方。 (注意:这些情况很少见)
这对高度ajaxy网站意味着你必须有非常可靠的错误处理来弥补更新冲突。