Grails中的createCriteria和list语法
我正在检查createCriteria方法 此语句声明一个HibernateCriteriaBuilder对象Grails中的createCriteria和list语法,grails,syntax,criteria,Grails,Syntax,Criteria,我正在检查createCriteria方法 此语句声明一个HibernateCriteriaBuilder对象 def c = Account.createCriteria() 然后它会呼叫 def results = c.list { like("holderFirstName", "Fred%") and { between("balance", 500, 1000) eq("branch", "London") } } 但是,从api来看,HibernateCri
def c = Account.createCriteria()
然后它会呼叫
def results = c.list {
like("holderFirstName", "Fred%")
and {
between("balance", 500, 1000)
eq("branch", "London")
}
}
但是,从api来看,HibernateCriteriaBuilder没有任何list()方法。我错过什么了吗
另外,有人能给我解释一下以下更复杂的语法吗
def results = c.list (max: 10, offset: 10) {
like("holderFirstName", "Fred%")
}
它是一个包含两个参数和一个闭包的列表方法吗???您不必担心list(),它是一个动态方法,您只需假设它存在 下面是一个带有分页信息的查询-表示返回最多10条记录,从偏移量10开始,其中holderFirstName类似于Fred%
def results = c.list (max: 10, offset: 10) {
like("holderFirstName", "Fred%")
}
此list()
是动态方法,由HibernateCriteriaBuilder生成/处理(请参阅)
您是对的,此语法用于传递闭包,但当前示例还使用参数作为映射(max:10,offset:10
是一个映射),因此它适用于类似list(map params,closure c)的方法