首页 > 解决方案 > 将只读数据库副本用于只读 GORM 方法和标准

问题描述

我有一个只读的 MySql DB 副本,并希望将它用于整个项目中所有基于选择的 GORM 请求和标准(Grails 3.1.16) 有没有什么漂亮的方法可以只为部分 GORM 方法覆盖默认 DataSource (例如获取、查找)?

根据文档,我们可以为域/服务使用特定的数据源,或者在每个方法调用中使用命名空间。但我正在寻找一种更通用的机制。

标签: grailsgrails-ormhibernate-criteria

解决方案


有没有什么漂亮的方法可以只为部分 GORM 方法(例如 get、find)覆盖默认 DataSource?

那没有。

您可以根据需要配置任意数量的数据源,但不能以声明方式表示一个用于读取而其他用于写入或类似的东西。你可以很容易地让一个成为默认值,然后在你想要做其他的时候明确。例如SomeDomainClass.nameOfDatasourceUsedForReads.list()等。


推荐阅读