Pessoal, depois que migrei para o Spring 3 meu cache deixou de funcionar. É claro que eu reconfigurei tudo. E está tudo certinho (penso eu), no entanto as queries continuam no console após a segunda chamada.
Spring:
<!-- Configuracoes cache -->
<prop key="hibernate.cache.provider_class"> net.sf.ehcache.hibernate.EhCacheProvider</prop>
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
<prop key="net.sf.ehcache.configurationResourceName">/ehcache.xml</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_structured_entries">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
ehcache.xml
[code]
<diskStore path="java.io.tmpdir"/>
<!-- (default) Requerido -->
<defaultCache
eternal="false"
maxElementsInMemory="1000"
timeToIdleSeconds="120"
timeToLiveSeconds="120/>
<cache
name="org.hibernate.cache.internal.StandardQueryCache"
eternal="false"
maxElementsInMemory="100"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="false"/>
<cache
name="org.hibernate.cache.spi.UpdateTimestampsCache"
eternal="true"
maxElementsInMemory="1000"/>
<cache
name="meuPacote.Cidade"
maxElementsInMemory="100"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="false"/>
[/code]
Entidade:
@Entity (name="Cidade")
@NamedQueries({
@NamedQuery(name="cidades", query="select a from Cidade a order by a.nome")
})
@Table (schema="public", name="cidade")
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
public class Cidade {
...
}
- O EhCache reconhece a entidade cacheada (o log evidencia isto).
- Não há erro no console.
Então, pode ser que eu tenha feito algo errado ou me esqueci de configurar alguma coisa, ou então estou completamente errado na abordagem.
Se alguém puder me ajudar, agradeceria muito, porque o chefe já está em cima de mim: “JÁ FEZ?, JÁ CONSEGUIU?” E há dois dias estou tentando consertar.
Estou usando:
Hibernate 4.1.6
Spring 3.1
EhCache-core-2.6.0
Abraços a todos