【发布时间】:2018-03-29 09:22:59
【问题描述】:
我正在尝试将顶部的代码块抽象出来,使其看起来像底部的代码块。
if (params.xId) {
and {
'in'(aggregateClassReference, hierarchy['x'])
eq(aggregateIdReference, params.xId as Long)
}
}
if (params.yId) {
and {
'in'(aggregateReference, hierarchy['y'])
eq(aggregateIdReference, params.yId as Long)
}
}
...
if (params.xId) { belongsToHierarchy('x', params.xId as Long) }
if (params.yId) { belongsToHierarchy('y', params.yId as Long) }
我正在使用 gorm 条件查询,但我不想要这些大块代码。有没有办法在自定义函数中返回这些条件查询的闭包?现在的问题是我把下面的代码块放在
def criteria = DetachedCriteria.build(...)
然后我做了一个
criteria.list(...)
执行。以某种方式返回一个闭包会很棒
and {
'in'{...}
eq {...}
}
在构建中的自定义函数中,但我还没有弄清楚。对 grails 有点陌生。任何指导我的见解将不胜感激:)
【问题讨论】:
-
也许命名查询可能有帮助?你调查过他们吗? docs.grails.org/latest/ref/Domain%20Classes/namedQueries.html
标签: hibernate grails grails-orm criteria