def results = Book.withCriteria {
def now = new Date()
between('releaseDate', now-7, now)
like('title', '%Groovy%')
}
withCriteria
用途
允许对 Criteria 查询进行行内执行。请参阅 createCriteria 方法以供参考。
返回值
如果没有找到匹配的记录,则返回一个空列表。
如果指定了投影
-
如果只包含一个字段,则返回单个值
-
如果投影中有多个字段,则返回一个列表
否则,将返回调用 withCriteria 的类的匹配实例列表。
示例
说明
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 的闭包