簡體   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