gpt4 book ai didi

grails - 是否可以将命名查询元编程到 grails 域类上?

转载 作者:行者123 更新时间:2023-12-02 15:14:28 25 4
gpt4 key购买 nike

是否可以将命名查询元编程到 grails 域类上?如果是这样,怎么做?

谢谢

最佳答案

域类有 namedQueries属性,您可以使用它来添加您自己的命名查询。如果您想在插件中使用元编程(而不是直接编辑域类)来做到这一点,您应该在 doWithDynamicMethods 中进行。关闭插件的描述 rune 件。

像这样的东西应该工作:

class MyPlugin {

def doWithDynamicMethods = { applicationContext ->

application.domainClasses.each { domainClass ->

boolean domainClassFilter = domainClass as Boolean

if (domainClassFilter) {
domainClass.metaClass.static.myNamedQuery = {->

// implementation of your named query goes here. Here is an example implementation
// that returns all instances with status == 'ready'
String simpleClassName = domainClass.simpleName
domainClass.findAll("from $simpleClassName where status = ?", ['ready'])
}
}
}
}
}

这将添加 myNamedQuery到安装插件的应用程序中的每个域类。如果您只想将其添加到某些域类,则替换 domainClassFilter 的值用更合适的测试。

关于grails - 是否可以将命名查询元编程到 grails 域类上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com