(快速參考)

find

目的

尋找給定查詢的第一個相符結果,如果找不到任何實例,則為 null

範例

// Dan brown's first book
Book.find("from Book as b where b.author='Dan Brown'")

// with a positional parameter
Book.find("from Book as b where b.author=?", ['Dan Brown'])

// with a named parameter
Book.find("from Book as b where b.author=:author", [author: 'Dan Brown'])

// use the query cache
Book.find("from Book as b where b.author='Dan Brown'", [cache: true])
Book.find("from Book as b where b.author=:author",
          [author: 'Dan Brown'],
          [cache: true])

// query by example
def example = new Book(author: "Dan Brown")
Book.find(example)

// Using where criteria (since Grails 2.0)
Person p = Person.find { firstName == "Bart" }

說明

find 方法允許使用 Hibernate 的查詢語言 HQL 和按範例查詢。基本語法為

Book.find(String query)
Book.find(String query, Collection positionalParams)
Book.find(String query, Collection positionalParams, Map queryParams)
Book.find(String query, Map namedParams)
Book.find(String query, Map namedParams, Map queryParams)
Book.find(Book example)
Book.find(Closure whereCriteria)

參數

  • query - HQL 查詢

  • positionalParams - 位置參數化 HQL 查詢的 List

  • namedParams - HQL 查詢的名稱參數的 Map

  • queryParams - 查詢參數的 Map。目前,僅支援 cache

  • example - 按範例查詢的網域類別實例