哇 !好主意!对于这样的想法,grails catch 插件就派上用场了!您可以捕获域对象
http://grails.org/plugin/cache
http://grails-plugins.github.io/grails-cache/docs/manual/guide/usage.html
此外,您可以使用 ecahe.plugins 来支持大数据 (www.bigdata.com)
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.provider_class = 'org.hibernate.cache.EhCacheProvider'
}
使您的域能够捕获:
class Book {
…
static mapping = { cache true }
}
class Country {
…
static mapping = { cache usage: 'read-only' }
}
class Author {
…
static hasMany = [books:Book]
static mapping = { books cache: true }
}
如果不想破坏应用程序,通过来自数据库域更改的新更改覆盖捕获,您可以像这样查询它:
def criteria = DomainClass.createCriteria()
def results = criteria.list {
cacheable(true)
}
还有更多……来自 Birtbeckwith 博客的引用……