Hibernate / GORM - 处理多会话域对象更新

时间:2012-09-10 17:44:32

标签: hibernate grails gorm

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

一般来说,我更倾向于将乐观锁定do it's joboverride放在我明确不关心用户是否踩到彼此的更改的地方。 (注意:这些情况很少见)

这对高度ajaxy网站意味着你必须有非常可靠的错误处理来弥补更新冲突。