Java 使用hibernate BeanCreationException配置ehcache

Java 使用hibernate BeanCreationException配置ehcache,java,spring,hibernate,config,ehcache,Java,Spring,Hibernate,Config,Ehcache,我不熟悉休眠和缓存。我正试图将ehcache添加到工作中的一个大项目中。我将hibernate-ehcache-3.6.10.Final.jar添加到引用的库中。在我的配置文件中,我有如下sessionfactorybean <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name

我不熟悉休眠和缓存。我正试图将ehcache添加到工作中的一个大项目中。我将hibernate-ehcache-3.6.10.Final.jar添加到引用的库中。在我的配置文件中,我有如下sessionfactorybean

<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>

com.my.project.data.domainModels.something
com.my.project.data.domainModels.MoreStuff
.
.
.
com.my.project.data.domainModels.LastThing
org.hibernate.dialogue.sqlserverdialogue
Y
假的
假的
线
我在上面文件的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>
true
org.hibernate.cache.EhCacheProvider
config\ehcache.xml
真的
真的
真的
我还添加了一个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.
org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的bean时出错,该bean在类路径资源[dataAccess config.xml]中定义:调用init方法失败;嵌套异常为org.hibernate.HibernateException:无法实例化RegionFactory[org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
位于java.security.AccessController.doPrivileged(本机方法)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:423)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
位于com.my.project.controllers.ApplicationSettingsController。(ApplicationSettingsController.java:39)
位于com.my.project.controllers.ApplicationSettingsController.getInstance(ApplicationSettingsController.java:49)
位于com.my.project.client.application.application.start(application.java:26)
在org.eclipse.equinox.internal.app.eclipseeapphandle.run上(eclipseeapphandle.java:196)
位于org.eclipse.core.runtime.internal.adapter.eclipseeappluncher.runApplication(eclipseeappluncher.java:110)
位于org.eclipse.core.runtime.internal.adapter.eclipseeappluncher.start(eclipseeappluncher.java:79)
位于org.eclipse.core.runtime.adapter.EclipseStarter.run(EclipseStarter.java:354)
位于org.eclipse.core.runtime.adapter.EclipseStarter.run(EclipseStarter.java:181)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
位于org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
位于org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
位于org.eclipse.equinox.launcher.Main.run(Main.java:1450)
位于org.eclipse.equinox.launcher.Main.Main(Main.java:1426)
原因:org.hibernate.HibernateException:无法实例化RegionFactory[org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]
位于org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:423)
位于org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
位于org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2831)
位于org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2827)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1838)
位于org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
位于org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
位于org.springframework.orm.hibernate3.AbstractSessionFactoryBean.AfterPropertieSet(AbstractSessionFactoryBean.java:211)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 28多
原因:java.lang.reflect.InvocationTargetException
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:526)
位于org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:409)
... 37多
Ca
    <?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>
    !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
<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>
<?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>
<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>