使用hibernate BeanCreationException配置ehcache

时间:2016-02-17 15:59:58

标签: java spring hibernate config ehcache

我是hibernate和缓存的新手。我正在尝试将ehcache添加到工作中的大项目中。我将hibernate-ehcache-3.6.10.Final.jar添加到我引用的库中。在我的配置文件中,我有像这样的sessionFactory bean

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="annotatedClasses">
        <list>
            <value>com.my.project.data.domainModels.SomeStuff</value>
            <value>com.my.project.data.domainModels.MoreStuff</value>
            .
            .
            .
            <value>com.my.project.data.domainModels.LastThing</value>
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
            <prop key="hibernate.query.substitutions">Y</prop>
            <prop key="hibernate.show_sql">false</prop>
            <prop key="hibernate.format_sql">false</prop>
            <prop key="hibernate.current_session_context_class">thread</prop>
        </props>
    </property>
    <property name="eventListeners">
        <map>
            <entry key="merge">
                <bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/>
            </entry>
        </map>
    </property>     
</bean>

我将以下内容添加到上面文件中的hibernateProperties

<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">config\ehcache.xml</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.cache.use_structured_entries">true</prop>

我还添加了一个ehcache.xml

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true"
    monitoring="autodetect" dynamicConfig="true">
    <diskStore path="java.io.tmpdir"/>
    <defaultCache
        maxElementsInMemory="1000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
    />
    <cache name="Unit"
        maxElementsInMemory="500"
        eternal="true"
        timeToIdleSeconds="0"
        timeToLiveSeconds="0"
        overflowToDisk="false"
    />
</ehcache>

我还没有触及代码,但我收到了BeanCreationException

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [dataAccess-config.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
  at java.security.AccessController.doPrivileged(Native Method)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
  at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
  at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
  at com.my.project.controllers.ApplicationSettingsController.<init>(ApplicationSettingsController.java:39)
  at com.my.project.controllers.ApplicationSettingsController.getInstance(ApplicationSettingsController.java:49)
  at com.my.project.client.application.Application.start(Application.java:26)
  at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
  at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
  at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
  at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
  at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
  at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]
  at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:423)
  at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
  at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2831)
  at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2827)
  at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1838)
  at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
  at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
  at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
  ... 28 more
Caused by: java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
  at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:409)
  ... 37 more
Caused by: java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
  at java.lang.Class.getDeclaredConstructors0(Native Method)
  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2595)
  at java.lang.Class.getConstructor0(Class.java:2895)
  at java.lang.Class.newInstance(Class.java:354)
  at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:63)
  ... 42 more
Caused by: java.lang.ClassNotFoundException: net.sf.ehcache.CacheException cannot be found by PROJECT_1.0.0
  at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
  at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  ... 47 more
An error has occurred. See the log file
C:\Users\jtrinidad\runtime-project.product\.metadata\.log.

任何指导都将不胜感激。

编辑2:

我使用较新版本的jar更新了我的类路径。我的.classpath现在看起来像这样

    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
      <classpathentry kind="src" path="src"/>
      <classpathentry excluding="**/.svn/*" kind="src" path="config"/>
      <classpathentry exported="true" kind="lib" path="lib/org.eclipse.nebula.widgets.grid_1.0.21.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/xelem_3.0.2.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/jep-java-3.4.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.6.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/javassist-3.9.0.GA.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.1.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/jtds-1.2.4.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/jackson-core-asl-1.0.1.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/jackson-mapper-asl-1.0.1.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/hibernate-jpa-2.0-api-1.0.0.Final.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.5.8.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/hibernate-core-3.6.10.Final.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/ehcache-core-2.4.3.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/hibernate-ehcache-3.6.10.Final.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/commons-pool.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/commons-dbcp.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.0.4.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/log4j-1.2.15.jar"/>
      <classpathentry exported="true" kind="lib" path="lib/spring.jar"/>
      <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
      <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
      <classpathentry kind="lib" path="lib/slf4j-log4j12-1.5.8.jar"/>
      <classpathentry kind="lib" path="lib/simmetrics_jar_v1_6_2_d07_02_07.jar"/>
      <classpathentry kind="lib" path="lib/jsci-core.jar"/>
      <classpathentry kind="lib" path="lib/jta-1.1.jar"/>
      <classpathentry kind="output" path="bin"/>
    </classpath>

这是我的弹簧配置

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:context="http://www.springframework.org/schema/context"
           xmlns:tx="http://www.springframework.org/schema/tx"
         xsi:schemaLocation="http://www.springframework.org/schema/beans 
                             http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                             http://www.springframework.org/schema/context
                             http://www.springframework.org/schema/context/spring-context-2.5.xsd
                               http://www.springframework.org/schema/tx
                               http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

      <context:property-placeholder location="myproject.properties" />

      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
          destroy-method="close">
        <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" />
        <property name="url" value="${datasource.url}"/>
        <!--<property name="username" value="${datasource.username}"/>
        <property name="password" value="${datasource.password}"/>-->
        <property name="maxActive" value="100"/>
        <property name="maxIdle" value="20"/>
        <property name="maxWait" value="1800000"/>  <!-- 30 mins -->
        <property name="minEvictableIdleTimeMillis" value="1800000"/>   <!-- 30 mins -->
        <property name="timeBetweenEvictionRunsMillis" value="1800000"/>   <!-- 30 mins -->
        <property name="numTestsPerEvictionRun" value="3"/>
        <property name="testOnBorrow" value="true"/>
        <property name="testWhileIdle" value="false"/>
        <property name="testOnReturn" value="false"/>
        <property name="validationQuery" value="SELECT 1"/>
      </bean>

      <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="annotatedClasses">
          <list>
            <!-- annotated classes defined here -->
          </list>
        </property>
        <property name="hibernateProperties">
          <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
            <prop key="hibernate.query.substitutions">Y</prop>
            <prop key="hibernate.show_sql">false</prop>
            <prop key="hibernate.format_sql">false</prop>
            <prop key="hibernate.current_session_context_class">thread</prop>
            <prop key="hibernate.cache.use_second_level_cache">true</prop>
            <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop>
            <prop key="hibernate.cache.provider_configuration">config/ehcache.xml</prop>
            <prop key="hibernate.cache.use_query_cache">true</prop>
          </props>
        </property>
        <property name="eventListeners">
          <map>
            <entry key="merge">
              <bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/>
            </entry>
          </map>
          </property>       
      </bean>

        <bean id="HibernateUtil" class="com.company.myproject.data.dao.hibernate.HibernateUtil">
          <property name="sessionFactory" ref="sessionFactory"/>
        </bean>  
    </beans>

这是.log文件

    !SESSION 2016-03-02 08:43:56.397 -----------------------------------------------
    eclipse.buildId=unknown
    java.version=1.7.0_80
    java.vendor=Oracle Corporation
    BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
    Framework arguments:  -product MYPROJECT.product
    Command-line arguments:  -product MYPROJECT.product -data C:\Users\me\workspace2/../runtime-MYPROJECT.product -dev file:C:/Users/me/workspace2/.metadata/.plugins/org.eclipse.pde.core/MYPROJECT.product/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

    !ENTRY org.eclipse.osgi 4 0 2016-03-02 08:43:57.992
    !MESSAGE Application error
    !STACK 1
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [dataAccess-config.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: could not instantiate RegionFactory [net.sf.ehcache.hibernate.EhCacheRegionFactory]
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
      at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
      at com.company.myproject.controllers.ApplicationSettingsController.<init>(ApplicationSettingsController.java:39)
      at com.company.myproject.controllers.ApplicationSettingsController.getInstance(ApplicationSettingsController.java:49)
      at com.company.myproject.client.application.Application.start(Application.java:26)
      at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
      at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
      at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
    Caused by: org.hibernate.HibernateException: could not instantiate RegionFactory [net.sf.ehcache.hibernate.EhCacheRegionFactory]
      at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:423)
      at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
      at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2831)
      at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2827)
      at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1838)
      at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
      at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
      at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
      ... 28 more
    Caused by: java.lang.ClassNotFoundException: net.sf.ehcache.hibernate.EhCacheRegionFactory cannot be found by MYPROJECT_1.0.0
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
      at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:195)
      at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
      at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:409)
      ... 37 more

1 个答案:

答案 0 :(得分:0)

这是我的spring-hibernate配置。我正在使用hibernate 4.X,所以如果你不能升级,你必须找到适合hibernate 3的软件包:

<bean id="hibernateSessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="hibernateDatasource" />
    <property name="packagesToScan" value="it.eng.comi.spring.dao.hibernate.models" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">
                org.hibernate.spatial.dialect.postgis.PostgisDialect 
            </prop>
            <prop key="hibernate.show_sql">
                true
            </prop>
            <prop key="hibernate.generate_statistics">
                false
            </prop>
            <prop key="hibernate.format_sql">
                true
            </prop>
            <prop key="hibernate.hbm2ddl.auto">
                true
            </prop>
            <prop key="hibernate.cache.use_second_level_cache">true</prop>
            <prop key="hibernate.cache.use_query_cache">true</prop>
            <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
            <prop key="net.sf.ehcache.configurationResourceName">ehCacheCfg.xml</prop>
            <prop key="hibernate.jdbc.batch_size">25</prop>
        </props>
    </property>
</bean>

如您所见,我使用 org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory 作为区域工厂的类,我定义了用于ehacache配置的xml文件 在我的ehCacheCfg.xml中我有这样的东西:

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" name="hibernateCache" >
    <diskStore path="java.io.tmpdir/hibCache"/>
    <defaultCache
            maxElementsInMemory="1000"
            eternal="true"
            timeToIdleSeconds="0"
            timeToLiveSeconds="0"
            overflowToDisk="false"
            maxElementsOnDisk="10000000"
            diskPersistent="false"
            diskExpiryThreadIntervalSeconds="600"
            memoryStoreEvictionPolicy="LRU"
            />
    <cache  name="MyEntity"
            maxElementsInMemory="1000"
            eternal="false"
            timeToIdleSeconds="300"
            timeToLiveSeconds="600"
            overflowToDisk="true"
            />
</ecache>

在我的实体类中,我有以下注释: 的 @Cache(region = "MyEntity", usage = CacheConcurrencyStrategy.READ_WRITE)

在我的pom中,我有以下依赖项:

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache-core</artifactId>
    <version>${ehcache.core.version}</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-ehcache</artifactId>
    <version>${hibernate.core.version}</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>${hibernate.core.version}</version>
</dependency>

版本是:

<hibernate.core.version>4.3.7.Final</hibernate.core.version>
<ehcache.core.version>2.6.10</ehcache.core.version>

我希望这可以提供帮助

安吉洛