Ativar Hibernação de cachê de segundo nível com JPA no JBoss 4.2
Pergunta
Quais são os passos necessários para ativar Hibernação do cachê de segundo nível, quando usando a Java Persistence API (anotado entidades)?Como faço para verificar se ele está funcionando?Eu estou usando o JBoss 4.2.2.GA.
A partir do Hibernate documentação, parece que eu preciso habilitar o cache e especificar um provedor de cache em persistence.xml, como:
<property name="hibernate.cache.use_second_level_cache"
value="true" />
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider" />
O que mais é necessário?Eu preciso adicionar @Cache anotações para o meu entidades JPA?
Como posso saber se o cache está funcionando?Eu tentei acessar o cache de estatísticas após a execução de uma Consulta, mas Estatísticas.getSecondLevelCacheStatistics retorna null, talvez porque eu não sei o que 'a região' de nome para usar.
Solução
Eu acredito que você precisa para adicionar o cache de anotações para dizer para o hibernate como usar o segundo nível de cache (read-only, read-write, etc.).Este foi o caso no meu aplicativo (usando spring / tradicional hibernate e ehcache, assim, sua milhagem pode variar).Uma vez que os caches foram indicados, comecei a ver as mensagens que eles estavam em uso de hibernate.
Outras dicas
Acompanhamento:no final, após a adição de anotações, eu tenho que trabalhar com o EhCache, i.é.
<property name="hibernate.cache.provider_class"
value="net.sf.ehcache.hibernate.EhCacheProvider" />