[英]createCriteria and list syntax in Grails
我在这里检查createCriteria方法
该语句声明一个HibernateCriteriaBuilder对象
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()
是动态方法,由HibernateCriteriaBuilder生成/处理(请参见源代码 )
没错,此语法用于传递闭包,但是当前示例还将参数用作映射( max: 10, offset: 10
是映射),因此它适用于诸如list(Map params, Closure c)
您不必担心list()是一种动态方法,只需假设它存在。
以下是带有分页信息的查询-说返回最多10条记录,从偏移量10开始,其中holderFirstName类似于Fred%
def results = c.list (max: 10, offset: 10) {
like("holderFirstName", "Fred%")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.