GORM supports a number of powerful ways to query from dynamic finders, to criteria to Hibernate's object oriented query language HQL.
Groovy's ability to manipulate collections via
GPath and methods like sort, findAll and so on combined with GORM results in a powerful combination.
However, let's start with the basics.
Listing instances
If you simply need to obtain all the instances of a given class you can use the
list method:
The
list method supports arguments to perform pagination:
def books = Book.list(offset:10, max:20)
as well as sorting:
def books = Book.list(sort:"title", order:"asc")
Here, the
sort
argument is the name of the domain class property that you wish to sort on, and the
order
argument is either
asc
for
ascending or
desc
for
descending.
Retrieval by Database Identifier
The second basic form of retrieval is by database identifier using the
get method:
You can also obtain a list of instances for a set of identifiers using
getAll:
def books = Book.getAll(23, 93, 81)