我正在尝试使用以下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