Grails 在 createCriteria 中包含闭包

标签 grails grails-orm criteria

我有一个 grails 应用程序,我现在需要在其中进行搜索。我创建了一个包含常见条件的闭包。

def criteria = {
        if(pageSize){
            delegate.maxResults( pageSize )
        }
        if(offset){
            delegate.firstResult( offset )
        }
    ........
}

然后我想在某些特定条件下单独使用这个创建条件

objects = DomainObkect.createCriteria().list {

                    ne "booleanCheck", true
                    eq "value", value
                    criteria
                } 

有没有办法让它生效?现在标准选项没有被执行

提前致谢

最佳答案

当然。 像这样的东西:

Closure searchRestriction = { builder ->
            if(pageSize){
                builder.maxResults( pageSize )
            }
            if(offset){
                builder.firstResult( offset )
            }
        }
        def criteria = DomainObkect.createCriteria()
        objects = criteria.list {
            ne "booleanCheck", true
            eq "value", value
            searchRestriction(criteria)
        }

关于Grails 在 createCriteria 中包含闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37959626/

相关文章:

jquery - 如何在 grails 2.0 中获取 JSON

grails - 如何使Grails子查询作为简单示例?

Java 持久性标准;将 Expression<Timestamp> 转换为 Expression<Long>?

使用 executeQuery() 对算术表达式进行 Grails 投影?

Grails 2.x createCriteria 'or' 不适用于嵌套关联

.net - SetFetchMode 调用被忽略

javascript - decodeURIComponent 上出现意外 token

grails - 在Windows中使用Grails

java - Vaadin + TabSheet + Grails Service = 当前线程没有 session

grails - 如何在 transient 上使用可绑定(bind)约束来避免 'Cannot read write-only property'