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

标签 grails grails-orm grails-plugin grails-domain-class

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

static mapping = {
    myProperty index:'myProperty_Idx'
}

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

最佳答案

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

所以应用程序中的这一行使用了你的插件的 Config.groovy
grails.myplugin.useIndexForFoo = true
应该允许您拥有一个可配置的域类,例如

class Foo
{
    String myString

    static mapping = {
        if (Holders.config?.grails?.myplugin?.useIndexForFoo)
            myString index: "myString_idx"
    }
}

注意我使用 Holders 而不是注入(inject) grailsApplication bean,因为映射配置是静态的 - 不知道这是否是最佳的

关于grails - 如何通过 Grails 中的 Config.groovy 条目定义自定义表映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27016607/

相关文章:

grails - 强制Grails升级插件使用的库的正确方法

grails - 通过<paginate> grails传递表单值

jquery - 在 Grails 应用程序中放置何处以及如何访问 jQuery 插件?

sorting - Grails 标准排序和分页

Grails 域对象 hasMany 使用包含的不规则行为

grails - RichUI星级评定存在问题

unit-testing - 为什么即使使用 Spocks 的 Mock() 模拟了底层 Controller ,此方法仍返回 null?

grails - 如何通过GSP内部的g:each调用Controler Action?

sql - 远程Mysql服务器上的Groovy SQL错误?

Grails:在生产中更改 message.properties (i18n) 的内容