(快速参考)

withCriteria

用途

允许对 Criteria 查询进行行内执行。请参阅 createCriteria 方法以供参考。

返回值

如果没有找到匹配的记录,则返回一个空列表。

如果指定了投影

  • 如果只包含一个字段,则返回单个值

  • 如果投影中有多个字段,则返回一个列表

否则,将返回调用 withCriteria 的类的匹配实例列表。

示例

def results = Book.withCriteria {
    def now = new Date()
    between('releaseDate', now-7, now)
    like('title', '%Groovy%')
}

说明

withCriteria 方法允许对 Criteria 进行行内定义。可以将 [http://grails.github.io/grails-data-mapping/latest/api/grails/orm/HibernateCriteriaBuilder.html] 的自变量作为第一个参数传递

def book = Book.withCriteria(uniqueResult: true) {
    def now = new Date()
    between('releaseDate', now-7, now)
    like('title', '%Groovy%')
}

参数

  • arguments(可选)- 要在 Criteria 实例上设置的命名自变量映射

  • closure - 定义 Criteria 的闭包