2013-06-13 4 views
1

Сценарий: Проект состоит из справочных данных, которые обновляются один раз в неделю. Следовательно, постоянный запрос этих справочных данных для каждой транзакции из базы данных неэффективен. Отсюда мотивация кэшировать эти данные.Hibernate Secondary Level Cache

Вопрос: Если кэширование вторичного уровня и кэширование запросов в спящем режиме активируются, и элемент кэша конфигурации спящего режима установлен только для чтения, как будет зимовать знать, когда для обновления кэша, если изменение сделано в через другую программу. Это автоматически обрабатывается Hibernate или нам нужно очистить кеш с помощью какого-то триггера? Если это связано с Hibernate, кто-то может пролить свет на то, как это обрабатывается?

Документация JBoss была не очень понятна в отношении управления кешем.

В настоящее время я использую Hibernate 3.6 с Spring 3.1 и не хочу обновляться до Hibernate 4, если это не необходимо.

ответ

1

Это не будет.

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

Вы можете очистить кэш, хотя - см это code snippet

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

+0

Благодарим вас за быстрый ответ @ stringy05. – Khush

Смежные вопросы