(Quick Reference)
find
Purpose
Finds the first matching result for the given query or
null if no instance is found
Examples
// 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" }Description
The
find method allows querying with Hibernate's query language
HQL and querying by example. The basic syntax is:
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)
Parameters:
query - An HQL query
positionalParams - A List of parameters for a positional parametrized HQL query
namedParams - A Map of named parameters a HQL query
queryParams - A Map of query parameters. Currently, only cache is supported
example - An instance of the domain class for query by example