1

在更新可能由多个会话更新的域对象时,我对最佳实践感到好奇。

发生的调用是来自 g:remoteField 标记的 AJAX。它获取值并更新域对象:

            person.refresh()
            person.isLeader = true
            person.save(flush:true)

我在更新之前添加了刷新,因为值可能不同。

这是处理这个问题的最好方法吗?有没有更好的方法来处理更新?在这种情况下,我并不特别关心两个人是否同时更新。

4

1 回答 1

1

一般来说,我更喜欢让乐观锁定完成它的工作,并在我明确不关心用户是否踩到彼此的更改时覆盖它。(注意:这些情况很少见)

这对于高度 ajaxy 的站点意味着您必须有非常可靠的错误处理来覆盖更新冲突。

于 2012-09-10T18:28:40.697 回答