Grails: обновление спящего режима после внешней загрузки данных - PullRequest
1 голос
/ 21 марта 2012

У меня есть приложение Grails. Я хотел бы загрузить данные в базовую базу данных с чем-то внешним, в частности, для Perl. Я знаю, что должен обновить последовательность гибернации после загрузки внешних данных, в противном случае при следующем создании объекта в grails, hibernate выдает исключение; но есть ли что-то еще, что мне нужно обновить? Должен ли я очистить кэш спящего режима, например? Казалось бы, это очень распространенная проблема, но в документах Grails об этом не говорится. Спасибо.

1 Ответ

0 голосов
/ 22 марта 2012

Нашел это http://grails.1312388.n4.nabble.com/Accessing-the-2nd-level-cache-to-allow-it-to-be-cleared-via-a-controller-or-service-td1390985.html

Hibernate имеет API для этого.Вы можете получить кеш запросов через sessionFactory.getQueryCache () и очистить его с помощью

   sessionFactory.queryCache.clear() 

. Вы можете получить доступ к кешу для классов домена, используя его полное имя класса, например,

   def cache = sessionFactory.getSecondLevelCacheRegion('com.foo.bar.Book') 

и очистите его с помощью

   sessionFactory.getSecondLevelCacheRegion('com.foo.bar.Book').clear() 

Вы также можете вызвать evict () для sessionFactory для всего класса

   sessionFactory.evict(com.foo.bar.Book) 

или для отдельного экземпляра

   sessionFactory.evict(com.foo.bar.Book, 42) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...