想象一下,我有以下课程:
class Test {
String name
static mapping = {
cache true
version false
}
目标是在数据库级别使用本机sql插入行,这样hibernate就无法识别这些更改。我怎么能不知道这个新行呢?
有类似的东西 - > Test.clearCache?
答案 0 :(得分:7)
这个答案有点旧......不推荐使用evict方法......你可以使用
sessionFactory.cache.evictEntityRegion(Class.name)
这对我有用...只是谷歌上课,你会找到所有的方法......
答案 1 :(得分:6)
虽然这是一种弃用的方式,但它更短,仍然有效。
def sessionFactory // inject Hibernate sessionFactory
sessionFactory.evict(clazz, id)
// or evict all class instances:
sessionFactory.evict(clazz)
文档为here,请查看Cache
的最新信息。