(Quick Reference)
cache
Purpose
Enables the configuration of the Hibernate second-level cache.
Examples
class Book {
…
static mapping = {
cache true
}
}
Description
Usage:
cache(boolean/string/map)
Arguments:
usage
- The cache usage. Can be read-only
, read-write
, nonstrict-read-write
or transactional
include
(optional) - Whether to include non-lazy associations. Can be all
or non-lazy
In order to take advantage of the Hibernate second-level cache you explicitly need to enable caching per domain class. For example:
static mapping = {
cache true
}
This will configure the domain class to use a 'read-write' cache, but you can configure whatever cache policy is appropriate:
static mapping = {
cache 'transactional'
}
Or
static mapping = {
cache usage:'read-only', include:'non-lazy'
}
You can also configure the cache policy on a per association basis:
class Author {
static hasMany = [books:Book]
static mapping = {
books cache: true // or 'read-write' etc.
}
}
For more information see the section on
Caching in the user guide.