直接使用hibernate配置ehcache貌似挺简单的,但是用spring老是实现不了,查询2次 没用的上2级缓存,研究了一上午,查了些资料,需要使用拦截器吗? 改了很多次还是不行....具体改怎么配置 使用hibernate +spring

解决方案 »

  1.   

    beans.xml <!-- 配置数据源dataSource -->
       <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
       <property name="driverClassName" value="com.mysql.jdbc.Driver" />
       <property name="url" value="jdbc:mysql://localhost:3306/szu?userUnicode=true&amp;characterEncoding=UTF-8" />
       <property name="username" value="root" />
       <property name="password" value="088110" />
       <property name="initialSize" value="1" /><!-- 连接池启动,连接初始值 -->
       <property name="maxActive" value="100" /><!-- 连接池最大值 -->
       <property name="maxIdle" value="2" /><!-- 最大空闲值 -->
       <property name="minIdle" value="1" /><!-- 最小空闲值 -->
       </bean>
      
       <context:annotation-config />
      
       <!-- 配置sessionFactory -->
       <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
       <property name="dataSource" ref="dataSource" />
       <property name="mappingResources">
       <list>
       <value>edu/szu/bean/Person.hbm.xml</value>
       </list>
       </property>
       <property name="hibernateProperties">
       <value>
       hibernate.dialect=org.hibernate.dialect.MySQLDialect
       hibernate.hbm2ddl.auto=update
       hibernate.cache.use_second.level_cache=true
       hibernate.cache.use_query_cache=false
       hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
       </value>
       </property>
       </bean> <!-- 配置事务 -->
    <bean name="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    ecache.xml<?xml version="1.0" encoding="UTF-8" ?><ehcache>
    <diskStore path="D:\cache" />//配置缓存存放目录
      <defaultCache maxElementsInMemory="1000" eternal="false" overflowToDisk="true" 
      timeToIdleSeconds="120"
      timeToLiveSeconds="180"
      diskPersistent="false"
      diskExpiryThreadIntervalSeconds="60"/>
      <cache name="edu.szu.bean.Person" maxElementsInMemory="100" eternal="false" overflowToDisk="true" 
      timeToIdleSeconds="300"
      timeToLiveSeconds="600"
      diskPersistent="false"/>
    </ehcache>
      

  2.   

    里面的参数适当修改下,比如url,“edu/szu/bean/Person.hbm.xml”,“edu.szu.bean.Person”