在加载域之前修改gorm映射

时间:2013-08-27 13:13:54

标签: hibernate grails metaprogramming gorm

我们的grails项目(master和slave)中有两个数据源,我们希望在两个数据源上都有所有的域类。因此,我们尝试通过添加以下代码动态配置静态映射闭包:

datasources(['DEFAULT', 'readonly'])

假设我们有这个域类:

class Book {
    String name

    static mapping = {
        sort 'name'
    }
}

我想动态地将代码添加到现有的静态映射闭包中,结果将是:

class Book {
    String name

    static mapping = {
        sort 'name'
        datasources(['DEFAULT', 'readonly'])
    }
}

我知道我可以使用数据源'ALL',但我真正想知道的是如何将代码添加到所有域类中的每个现有静态映射。

那么插件有自己的表呢?我需要将datasource'ALL'设置为默认配置或动态注入代码。

1 个答案:

答案 0 :(得分:0)

  

我们希望在两个数据源上都拥有所有域类

The documentation介绍了如何操作。

  

如果域类使用所有已配置的DataSource,则使用special   值'ALL':

class ZipCode {
   String code

   static mapping = {
      datasource 'ALL'
   }
}