Включение гибернации кэша второго уровня с помощью JPA в JBoss 4.2

StackOverflow https://stackoverflow.com/questions/53562

  •  09-06-2019
  •  | 
  •  

Вопрос

Какие шаги требуются для включения кэша второго уровня Hibernate при использовании Java Persistence API (аннотированные объекты)?Как мне проверить, что это работает?Я использую JBoss 4.2.2.GA.

Из документации Hibernate кажется, что мне нужно включить кэш и указать поставщика кэша в persistence.xml, как:

<property name="hibernate.cache.use_second_level_cache"
          value="true" /> 
<property name="hibernate.cache.provider_class" 
          value="org.hibernate.cache.HashtableCacheProvider" /> 

Что еще требуется?Нужно ли мне добавлять @Кэш аннотации к моим объектам JPA?

Как я могу определить, работает ли кэш?Я пытался получить доступ к статистике кэша после выполнения запроса, но Статистика.Получаем статистику второго уровня возвращает null, возможно, потому, что я не знаю, какое название региона использовать.

Это было полезно?

Решение

Я полагаю, вам нужно добавить аннотации кэша, чтобы указать hibernate, как использовать кэш второго уровня (только для чтения, чтения-записи и т.д.).Так было в моем приложении (с использованием spring / традиционного hibernate и ehcache, поэтому ваш пробег может отличаться).Как только кэши были указаны, я начал видеть сообщения о том, что они использовались из спящего режима.

Другие советы

Последующие меры:в конце концов, после добавления аннотаций, у меня это работает с EhCache, т.е.

<property name="hibernate.cache.provider_class" 
          value="net.sf.ehcache.hibernate.EhCacheProvider" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top