首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ehcache hibernate 4

ehcache hibernate 4
EN

Stack Overflow用户
提问于 2012-12-15 00:14:24
回答 2查看 14.9K关注 0票数 6

在我的应用程序中,我使用了hibernate-core-4.1.8jar,并希望使用ehCache作为二级缓存。我目前使用的jar是ehcache-core-2.5.0。我把它放在我的WebContetn/WEB-INF/lib文件夹中,也放在类路径中。

我的hibernate.cfg.xml看起来像这样:

代码语言:javascript
复制
<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>

位于JavaResources/src文件夹中的ehcache.xml:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
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)
    .....
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-15 00:32:33

您需要通过downloading it包含hibernate-ehcache.jar,或者您正在使用maven将其放入依赖项中,如下所示

代码语言:javascript
复制
<dependency>
<artifactId>hibernate-ehcache</artifactId>
<groupId>org.hibernate</groupId>
<version>4.0.0.CR6</version>
</dependency>
票数 10
EN

Stack Overflow用户

发布于 2021-12-04 08:27:05

您需要检查您的hibernate version,并且必须使用相同版本的hibernate-ehcache

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13882393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档