(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