如何在Grails中通过Config.groovy条目定义自定义表映射

如何在Grails中通过Config.groovy条目定义自定义表映射,grails,gorm,grails-plugin,grails-domain-class,Grails,Gorm,Grails Plugin,Grails Domain Class,我正在开发一个插件,在表映射中需要一个特定的索引配置 static mapping = { myProperty index:'myProperty_Idx' } 是否有某种方式可以让插件用户通过Config.groovy文件决定是否使用此映射 我相信您可以直接从映射块读取配置变量 因此,应用程序中的这一行使用插件的Config.groovy grails.myplugin.useIndexForFoo=true 应该允许您拥有一个可配置的域类,例如 class Foo { S

我正在开发一个插件,在表映射中需要一个特定的索引配置

static mapping = {
    myProperty index:'myProperty_Idx'
}

是否有某种方式可以让插件用户通过Config.groovy文件决定是否使用此映射

我相信您可以直接从映射块读取配置变量

因此,应用程序中的这一行使用插件的Config.groovy

grails.myplugin.useIndexForFoo=true

应该允许您拥有一个可配置的域类,例如

class Foo
{
    String myString

    static mapping = {
        if (Holders.config?.grails?.myplugin?.useIndexForFoo)
            myString index: "myString_idx"
    }
}
注意我使用了holder而不是注入grailsapplicationbean,因为映射配置是静态的——不知道这是否是最优的