¿Cuáles son los pasos necesarios para habilitar la memoria caché de segundo nivel de Hibernate, cuando se utiliza la API Java Persistence (entidades anotadas)? ¿Cómo compruebo que está funcionando? Estoy usando JBoss 4.2.2.GA.Habilitación de la memoria caché de segundo nivel de Hibernate con JPA en JBoss 4.2
De la documentación de Hibernate, parece que necesito para que el caché y especificar un proveedor de memoria caché en persistence.xml, como:
<property name="hibernate.cache.use_second_level_cache"
value="true" />
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider" />
¿Qué más se necesita? ¿Debo agregar anotaciones @Cache a mis entidades JPA?
¿Cómo puedo saber si la memoria caché está funcionando? He intentado acceder a las estadísticas de caché después de ejecutar una consulta, pero Statistics.getSecondLevelCacheStatistics devuelve nulo, tal vez porque no sé qué nombre de 'región' usar.
Tenga en cuenta que en Hibernate 3.3+, este parámetro es ahora hibernate.cache.region.factory_class y no lo que está arriba. Agregando esto para la posteridad;) –