我正在阅读 grails criteria API,我在 grails API here中找到以下代码
def c = Account.createCriteria()
def results = c {
projections {
groupProperty("branch")
}
like("holderFirstName", "Fred%")
and {
between("balance", 500, 1000)
eq("branch", "London")
}
maxResults(10)
order("holderLastName", "desc")
}
我的问题是调用 Account.createCriteria() 会给你 grails.orm.HibernateCriteriaBuilder 对象但是当说 "c { ....}" 时,我知道 colsure 被调用但我们拥有的对象是 HibernateCriteriaBuilder 对象而不是 Closure 对象,那么闭包是如何被调用的。