多租户与mongodb不更新域类的版本列

时间:2016-12-08 12:20:45

标签: mongodb grails gorm multi-tenant

我正在尝试使用以下gorm插件实现mongodb的多租户:

'org.grails.plugins:mongodb:6.0.4'

implements MongoEntity<Book>, MultiTenant<Book>正确保存到相应数据库的域类。但是,在这些域类中,永远不会保存版本列。这意味着当我检索同一个对象并尝试更新某些值时,我会得到乐观的锁定异常。由于版本列为空,因此比较失败。

这是我保存对象的方式:

Tenants.withCurrent {
     book.save(flush: true)
}

我已经推送了重现相同场景的示例代码。我很欣赏任何正确方向的帮助或指针。

Sample code to reproduce scenario

1 个答案:

答案 0 :(得分:0)

我注意到您的服务是使用@Transactional注释的。

此问题并未提及与您相同的错误,但似乎表明多租户和@Transactional可能无法很好地协同工作https://github.com/grails/grails-data-mapping/issues/767