hibernate.cache.region.factory_class Requerido no hibernate.cfg.xml
Eu estou trabalhando em usar o memcache como cache de segundo nível para o Hibernate. Estou usando o hibernate-memcached-1.2.4, o spymemcached 2.8.0 e o hibernate 4.1.4.
Mas quando eu tento usá-lo, dá-me erro dizendo
Initial sessionfactory creation failedorg.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used in the application, but property hibernate.cache.region.factory_class is not given, please either disable second level cache or set correct region factory class name to property hibernate.cache.region.factory_class (and make sure the second level cache provider, hibernate-infinispan, for example, is available in the classpath). Exception in thread "main" java.lang.ExceptionInInitializerError at Util.HibernateUtil.(HibernateUtil.java:16) at hibba.AccountDAOimpl.getAccount(AccountDAOimpl.java:23) at hibba.Connect.main(Connect.java:7) Caused by: org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used in the application, but property hibernate.cache.region.factory_class is not given, please either disable second level cache or set correct region factory class name to property hibernate.cache.region.factory_class (and make sure the second level cache provider, hibernate-infinispan, for example, is available in the classpath). at org.hibernate.cache.internal.NoCachingRegionFactory.buildTimestampsRegion(NoCachingRegionFactory.java:87) at org.hibernate.cache.spi.UpdateTimestampsCache.(UpdateTimestampsCache.java:63) at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:510) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1744) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1782) at Util.HibernateUtil.(HibernateUtil.java:12) ... 2 more
As propriedades escritas em hibernate.cfg.xml são:
<pre>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="cache.provider_class">com.googlecode.hibernate.memcached.MemcachedCacheProvider </property>
<property name="hibernate.memcached.memcacheClientFactory">com.googlecode.hibernate.memcached.dangamemcached.DangaMemcacheClientFactory</property>
<property name="hibernate.Memcached.servers"> localhost:11211 </property>
<property name="hibernate.Memcached.cacheTimeSeconds">300</property>
<property name="hibernate.Memcached.connectionFactory">KetamaConnectionFactory</property> </pre>