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