6

In my application I use the hibernate-core-4.1.8 jar and would like to take an ehCache as 2nd level cache. The jar I am currently using is ehcache-core-2.5.0. I placed it in my WebContetn/WEB-INF/lib folder and put it in the classpath too.

My hibernate.cfg.xml looks like this:

<hibernate-configuration> <session-factory> .... <property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property> <property name="hibernate.cache.use_second_level_cache">true</property> <property name="hibernate.cache.use_query_cache">true</property> </session-factory> </hibernate-configuration> 

the ehcache.xml which is placed in the JavaResources/src folder:

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect" dynamicConfig="true"> <defaultCache maxElementsInMemory="100000" eternal="false" timeToIdleSeconds="1000" timeToLiveSeconds="1000" overflowToDisk="false" /> </ehcache> 

When running my application the class org.hibernate.cache.ehcache.EhCacheRegionFactory is not found:

java.lang.ClassNotFoundException: Could not load requested class : org.hibernate.cache.ehcache.EhCacheRegionFactory at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl$1.findClass(ClassLoaderServiceImpl.java:99) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:138) at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:444) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:275) at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2283) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2279) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1748) at creator.controllers.MyFactory.<clinit>(MyFactory.java:18) at creator.controllers.SchoolDAO.getList(SchoolDAO.java:98) ..... 

2 Answers 2

10

you need to include hibernate-ehcache.jar by downloading it or is you're using maven put it in your dependencies like this

<dependency> <artifactId>hibernate-ehcache</artifactId> <groupId>org.hibernate</groupId> <version>4.0.0.CR6</version> </dependency> 
Sign up to request clarification or add additional context in comments.

1 Comment

works fine after adding your jar as well as the slf4-api-1.7.2 it seems to require (from slf4j.org/download.html) to the project :) thanks!
0

You need to check your hibernate version and you have to use the same version of hibernate-ehcache

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.