Olá pessoal!
Estou tendo problemas com a integração do JPA (Hibernate) e o Ehcache, configurando tudo no spring, eu fiz tudo como (acho) deveria fazer, mas simplesmente nada acontece, não consigo fazer o cache das queries, o log mostra que determinada query está sempre sendo executada no banco.
Vou mostrar um trecho do meu código, de repente estou fazendo alguma besteira, já que não tenho experiência com o ehcache:
spring-config.xml
...
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation">
<value>classpath:/ehcache.xml</value>
</property>
</bean>
...
ehcache.xml
...
<diskStore path="java.io.tmpdir" />
<cache name="Country"
maxElementsInMemory="2000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="false"/>
...
Country.java
...
@Cache(region="Country", usage=CacheConcurrencyStrategy.READ_ONLY)
@NamedQuery(name="Country.findStatesPerCountry", query="from State s where s.country = :country", cacheable=true)
public class Country implements Serializable {
...
Basicamente é isso
Porém sempre que executo essa namedQuery, a app vai no banco e monta a consulta…
Alguém tem idéia do que esteja acontecendo?
Agradeço desde já!