Java ehcache休眠4
在我的应用程序中,我使用hibernate-core-4.1.8jar,并希望使用ehCache作为二级缓存。 我目前使用的jar是ehcache-core-2.5.0。我把它放在我的WebContetn/WEB-INF/lib文件夹中,也放在类路径中 我的hibernate.cfg.xml如下所示:Java ehcache休眠4,java,hibernate,ehcache,Java,Hibernate,Ehcache,在我的应用程序中,我使用hibernate-core-4.1.8jar,并希望使用ehCache作为二级缓存。 我目前使用的jar是ehcache-core-2.5.0。我把它放在我的WebContetn/WEB-INF/lib文件夹中,也放在类路径中 我的hibernate.cfg.xml如下所示: <hibernate-configuration> <session-factory> .... <property n
<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>
....
org.hibernate.cache.ehcache.EhCacheRegionFactory
真的
真的
放置在JavaResources/src文件夹中的ehcache.xml:
<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>
运行我的应用程序时,找不到类org.hibernate.cache.ehcache.EhCacheRegionFactory:
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)
.....
java.lang.ClassNotFoundException:无法加载请求的类:org.hibernate.cache.ehcache.EhCacheRegionFactory
位于org.hibernate.service.classloading.internal.ClassLoaderServiceImpl$1.findClass(ClassLoaderServiceImpl.java:99)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:423)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:356)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(Class.java:264)
位于org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:138)
位于org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:444)
在org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:275)上
位于org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2283)
位于org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2279)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1748)
在creator.controllers.MyFactory。(MyFactory.java:18)
位于creator.controllers.SchoolDAO.getList(SchoolDAO.java:98)
.....
您需要包含hibernate ehcache.jar
或者您正在使用的maven是否将其放入依赖项中,如下所示
<dependency>
<artifactId>hibernate-ehcache</artifactId>
<groupId>org.hibernate</groupId>
<version>4.0.0.CR6</version>
</dependency>
休眠ehcache
org.hibernate
4.0.0.CR6
在添加您的jar以及slf4-api-1.7.2之后工作正常,它似乎需要(从)到项目:)谢谢!