очистить кибернетический кеш определенного класса домена - PullRequest
6 голосов
/ 08 июля 2011

Представьте, что у меня есть следующий класс:

class Test {
   String name    
   static mapping = {
      cache true
      version false
}

Цель состоит в том, чтобы вставить строки с использованием собственного sql на уровне базы данных, чтобы hibernate не распознал эти изменения. как я могу уведомить об этом новые строки?

Есть ли что-то вроде -> Test.clearCache?

Ответы [ 2 ]

7 голосов
/ 02 ноября 2012

Этот ответ немного устарел ... метод выселения устарел ... вы можете использовать

sessionFactory.cache.evictEntityRegion(Class.name)

это сработало для меня ... просто погуглите класс, и вы найдете все методы ...

6 голосов
/ 08 июля 2011

Хотя это устаревший способ, он короче и по-прежнему работает.

def sessionFactory // inject Hibernate sessionFactory
sessionFactory.evict(clazz, id)
// or evict all class instances:
sessionFactory.evict(clazz)

Документация здесь , см. Актуальный способ с Cache.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...