hibernate - Grails-乐观锁定-两次可能的更新之间的时间

标签 hibernate grails

我通常在整个项目中都使用乐观锁定。现在,我有了通过AJAX检索和更新对象的情况(我不知道这是否完全影响Grails或Hibernate的行为)。

对于更新,我使用仅包含object.save()的简单服务方法。如果我更新对象一次就没有问题。如果我在第一次更新后立即更新同一个对象,我会得到StaleObjectStateException,但是如果我等待一段时间,我不会得到异常。

现在我的问题是我必须等待多长时间才能进行第二次更新?有一般规则吗?是否有一些因素决定我必须等待多长时间(我注意到它并不总是一样)?

最佳答案

实际上,问题出在其他方面。我正在使用一个时间戳作为version(我正在考虑更改它)。但是,我使用的MySQL版本不支持毫秒-因此,每次我更新对象时,都会对毫秒进行四舍五入,如果四舍五入后的值大于原始值会导致问题。我更新了MySQL版本,不再有任何问题。

关于hibernate - Grails-乐观锁定-两次可能的更新之间的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33892160/

相关文章:

java - 一旦外键是主键的一部分,如何使用复合键映射自连接

java.lang.IllegalArgumentException : The given string value: { "In last 7 days" : 19 } cannot be transformed to Json object

spring - chalice 升级错误-创建名称为 'transactionManagerPostProcessor'的bean

amazon-web-services - 如何将AWS S3插件合并到Grails应用程序中?

java - 组织.hibernate.LazyInitializationException : failed to lazily initialize a collection of role

java - 从 SQLQuery 结果中的 id 列获取 Hibernate Entity 实例

Hibernate Search + Infinispan + S3 -- 防止字母数字文件名

hibernate - 删除HQL中的HasMany协会

grails - GORM 中的列名前缀

regex - 如何使用正则表达式突出显示搜索到的单词