The Grails Framework 2.4.4

See the light - agile, industrial strength, rapid web application development made easy

(Quick Reference) # executeQuery ## Purpose Executes HQL queries ## Examples

    // simple query
    Account.executeQuery("select distinct a.number from Account a")// using with list of parameters
    Account.executeQuery("select distinct a.number from Account a " +
                         "where a.branch = ? and a.created > ?",
                         ['London', lastMonth])// using with a single parameter and pagination params
    Account.executeQuery("select distinct a.number from Account a " +
                         "where a.branch = ?", ['London'],
                         [max: 10, offset: 5])// using with Map of named parameters
    Account.executeQuery("select distinct a.number from Account a " +
                         "where a.branch = :branch",
                         [branch: 'London'])// using with Map of named parameters and pagination params
    Account.executeQuery("select distinct a.number from Account a " +
                         "where a.branch = :branch",
                         [branch: 'London', max: 10, offset: 5])// same as previous
    Account.executeQuery("select distinct a.number from Account a " +
                         "where a.branch = :branch",
                         [branch: 'London'], [max: 10, offset: 5])// tell underlying Hibernate Query object to not attach newly retrieved
    // objects to the session, will only save with explicit save
    Account.executeQuery("select distinct a.number from Account a",
                         null, [readOnly: true])// time request out after 18 seconds
    Account.executeQuery("select distinct a.number from Account a",
                         null, [timeout: 18])// have Hibernate Query object return 30 rows at a time
    Account.executeQuery("select distinct a.number from Account a",
                         null, [fetchSize: 30])// modify the FlushMode of the Query (default is FlushMode.AUTO)
    Account.executeQuery("select distinct a.number from Account a",
                         null, [flushMode: FlushMode.MANUAL])
## Description The `executeQuery` method allows the execution of arbitrary HQL queries. HQL queries can return domain class instances, or `Array`s of specified data when the query selects individual fields or calculated values. The basic syntax is:
    Book.executeQuery(String query)
    Book.executeQuery(String query, List positionalParams)
    Book.executeQuery(String query, List positionalParams, Map metaParams)
    Book.executeQuery(String query, Map namedParams)
    Book.executeQuery(String query, Map namedParams, Map metaParams)
Parameters: `query` - An HQL query `positionalParams` - A `List` of parameters for a positional parameterized query `namedParams` - A `Map` of named parameters for a named parameterized query `metaParams` - A `Map` of pagination parameters `max` or/and `offset`, as well as Hibernate query parameters `readOnly`, `fetchSize`, `timeout`, and `flushMode` | Quick Reference (hide)