繁体   English   中英

Grails中的createCriteria和列表语法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM