我通常在整个项目中使用乐观锁定。我现在有一个案例,我通过AJAX检索和更新对象(我不知道这是否会影响Grails'或Hibernate的行为)。
对于更新,我使用仅包含object.save()
的简单服务方法。如果我没有问题就更新对象。如果我在第一次更新后立即更新同一个对象,我会得到StaleObjectStateException
,但如果我等了一段时间,我就不会得到例外。
我现在的问题是我需要等多久才能进行第二次更新?有一般规则吗?有什么东西可以决定我需要等多久(我注意到它并不总是一样)?
答案 0 :(得分:0)
实际上,问题还有别处。我正在使用时间戳AppTheme
(我正在考虑改变这个)。但是,我使用的MySQL版本不支持毫秒 - 所以,每当我更新一个对象时,毫秒被舍入会导致问题,如果舍入值大于原始值。我更新了MySQL版本并且没有任何问题了。