我正在尝试使用以下gorm插件使用mongodb实现 Multi-Tenancy :

'org.grails.plugins:mongodb:6.0.4'

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

这就是我保存对象的方式:
Tenants.withCurrent {
     book.save(flush: true)
}

我已经推送了可重现相同场景的示例代码。我感谢任何在正确方向上的帮助或指导。

Sample code to reproduce scenario

最佳答案

我注意到您的服务带有@Transactional注释。

此问题未提及与您相同的错误,但似乎表明 Multi-Tenancy 和@Transactional可能无法一起很好地发挥https://github.com/grails/grails-data-mapping/issues/767

08-04 12:01