`

Hibernate+spring缓存机制配置

阅读更多
在applicationContext.xml文件中添加以下代码:

?


<prop key="hibernate.cache.use_second_level_cache">true</prop>   <!--设置缓存机制为二级缓存 -->

<prop key="hibernate.cache.use_query_cache">true</prop>          <!--启动查询缓存 -->

<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>  <!--设置二级缓存的Provider类 -->

<prop key="hibernate.cache.provider_configuration_file_resource_path">WEB-INF/classes/ehcache.xml</prop>   <!--设置缓存的配置文件路径 --> 


将ehcache.xml文件放到src下面,并配置ehcache.xml文件如下:

<ehcache>
    <diskStore path="D:\cache" />

    <defaultCache maxElementsInMemory="10000" eternal="false"
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"
        overflowToDisk="true" diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU" />
    <cache name="net.nk.entity.DataAttr"  
        maxElementsInMemory="800" eternal="false" overflowToDisk="false"  
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   /> 
    <cache name="net.nk.entity.SmContentCategory"  
        maxElementsInMemory="800" eternal="false" overflowToDisk="false"  
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   /> 
    <cache name="net.nk.entity.SmProduct"  
        maxElementsInMemory="800" eternal="false" overflowToDisk="false"  
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   /> 
    <cache name="net.nk.entity.SmDepartment"  
        maxElementsInMemory="800" eternal="false" overflowToDisk="false"  
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   /> 
    <cache name="net.nk.entity.SmUser"  
        maxElementsInMemory="800" eternal="false" overflowToDisk="false"  
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   /> 
    <cache name="net.nk.entity.DataAttrValue"  
        maxElementsInMemory="3000" eternal="false" overflowToDisk="false"  
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   /> 
    <cache name="net.nk.entity.DataAm"  
        maxElementsInMemory="800" eternal="false" overflowToDisk="false"  
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   /> 
    <cache name="net.nk.entity.DataAttrGroup"  
        maxElementsInMemory="400" eternal="false" overflowToDisk="false"  
        timeToIdleSeconds="3600" timeToLiveSeconds="3600"   /> 
</ehcache>


在设置了缓存机制的类的xml文件中添加一段代码<cache usage="read-write" region="net.nk.entity.SmProduct"代码如下:

<hibernate-mapping>
    <!--SM_PRODUCT表的hibernate映射描述文件 -->
    <class name="net.nk.entity.SmProduct" table="SM_PRODUCT" >
        <cache usage="read-write" region="net.nk.entity.SmProduct"/>
         <!-- ID -->
        <id name="id" type="string">
            <column name="ID" />
            <generator class="assigned" />
        </id>


其中类的xml文件中的region设置要和ehcache.xml文件中的保持一致,此处是通过包名+类名的方式。

在调用数据库数据方法时,可采取以下设置:


protected List<POJO> getAll(Class<T> entityClass,boolean iscache) throws SSHException {
        HibernateTemplate ht = getHibernateTemplate();
        if(iscache){
            ht.setCacheQueries(true);
        }
        return ht.find("from "+entityClass.getName());//getHibernateTemplate().loadAll(entityClass);
    }


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Struts2+Hibernate+Spring课件 张志峰版

    它支持懒加载、缓存机制、事务管理和多种数据库平台,大大提高了开发效率。 **Spring** 框架则是一个全面的企业级应用开发框架,它包括依赖注入(DI)、面向切面编程(AOP)、数据访问/集成、Web、测试等多个模块。...

    struts+hibernate+spring源码

    通过源码学习,可以理解它们是如何协同工作的,例如,Spring如何通过AOP代理实现在Struts Action调用前后执行特定逻辑,以及如何配置和管理Hibernate SessionFactory。 **源码学习价值:** 1. **提升理解力**:源码...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统.zip

    整合EhCache与Spring和Hibernate非常简单,Spring提供了配置支持,使得EhCache的初始化和管理变得自动化。通过设置配置文件,可以指定哪些数据需要被缓存,以及缓存的策略,如过期时间、更新策略等。 总的来说,...

    JAVA WEB整合开发实例精通:Struts+Hibernate+Spring

    它提供了缓存机制、事务管理和查询语言HQL,极大地提升了开发效率和数据访问的灵活性。 3. **Spring框架**: Spring是Java企业级应用开发的全面解决方案,它不仅包含ORM和MVC支持,还提供了依赖注入(DI)、面向切...

    整合struts+hibernate+spring应用开发详解 part1

    Hibernate支持事务管理、缓存机制以及多种数据库的连接,极大地提高了开发效率。 Spring框架则是企业级应用的核心,它提供了一个全面的基础设施,包括依赖注入(DI)、面向切面编程(AOP)、数据访问、事务管理、...

    基于Struts 2+Hibernate+Spring实现论坛系统

    Struts 2、Hibernate 和 Spring 是 Java Web 开发中的三个重要框架,它们组合起来可以构建高效、可维护的Web应用程序,尤其是对于复杂的企业级论坛系统。这个基于Struts 2+Hibernate+Spring实现的论坛系统,充分利用...

    SpringMVC+Hibernate+Spring+JSP整合实例

    它的优点在于提高了开发效率,减少了对底层数据库操作的依赖,同时提供了缓存机制以提高性能。 **JSP(JavaServer Pages)** JSP是Java Web应用中的视图层技术,用于生成动态HTML、XML或其他类型的文档。开发者可以...

    jsf+hibernate+spring集成案例

    1. **配置集成**:首先,我们需要在Spring配置文件中定义数据源、SessionFactory(Hibernate的核心组件)以及JSF所需的Managed Beans。这通常涉及到XML配置或注解驱动的配置。 2. **JSF与Spring的集成**:通过...

    在线音乐网站(Struts2+hibernate+spring)

    它通过HQL(Hibernate查询语言)或SQL语句进行数据查询,提供了事务管理和缓存机制,提高了数据访问的性能。 【Spring】框架则是一个全面的企业级应用开发框架,包括依赖注入(DI)、面向切面编程(AOP)、数据访问...

    博客系统(struts+hibernate+spring).rar

    通过Hibernate的Session接口,可以实现对持久化对象的CRUD(创建、读取、更新、删除)操作,同时提供事务管理和缓存机制,提高了性能和数据一致性。 Spring框架是一个全面的企业级应用开发框架,它不仅提供了IOC...

    JavaWeb整合开发实战--基于Struts2+Hibernate+Spring(pdf已分割)

    此外,Hibernate还提供了缓存机制,提高数据访问性能。 Spring框架是一个全面的后端开发解决方案,涵盖了依赖注入(DI)、面向切面编程(AOP)、数据访问、事务管理等多个方面。Spring的IoC容器负责管理对象的生命...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用05

    此外,Hibernate还支持懒加载和缓存机制,提高了性能。 Spring框架则是一个全面的企业级应用框架,它提供了依赖注入(DI)和面向切面编程(AOP)等特性,简化了组件之间的装配和管理。Spring的IoC容器管理着应用的...

    网络硬盘(Struts 2+Hibernate+Spring实现)

    在这个项目中,Struts 2、Hibernate和Spring通过合理的配置协同工作。Struts 2的动作(Action)通常会依赖Spring管理的Service层,而Service层又会借助Hibernate进行数据库交互。Spring还负责初始化和管理Struts 2...

    Struts 2+Hibernate+Spring整合开发技术详解随书源码18

    4. **整合流程**:整合Struts 2、Hibernate和Spring,首先需要配置Spring的IoC容器来管理所有组件,包括Action、DAO和Service。然后,使用Spring的HibernateTemplate或JdbcTemplate进行数据访问。接着,将Struts 2与...

    springMVC+hibernate+spring+maven框架代码实例

    `Hibernate`支持事务管理、缓存机制和复杂的查询,提高了开发效率。 `Spring`框架作为企业级应用的基础,提供了依赖注入(DI)和面向切面编程(AOP)等核心特性。依赖注入使得对象之间的耦合度降低,增强了组件的可...

    springMVC+hibernate+spring+shiro整合例子

    Hibernate支持事务管理、缓存机制,并能自动处理数据库连接的创建和关闭,大大提高了开发效率。 **Spring** Spring框架是一个全面的企业级应用开发框架,它提供了依赖注入(DI)和面向切面编程(AOP)等功能。...

    ssh(Struts2+hibernate+spring)三大开源框架的参考文档

    Hibernate_3.2.0_Reference_zh_CN.chm文档可能包含了实体类的配置、数据访问对象(DAO)、事务管理、缓存策略、查询和 Criteria API等方面的详细说明。 Spring框架是企业级应用开发的核心框架,它提供依赖注入(DI...

    struts2+hibernate+spring实现的博客系统

    Struts2、Hibernate和Spring是Java开发中常用的三大框架...这个博客系统项目的源代码,包含了具体的配置文件、实体类、DAO、Service和Action等,对于学习和理解Struts2、Hibernate、Spring的协同工作有很高的参考价值。

    Struts+Hibernate+Spring 最优配置

    - **事务管理**:Spring提供了强大的事务管理机制,可以与Hibernate无缝结合,确保数据操作的一致性和可靠性。 - **性能优化**:考虑缓存策略,合理使用Hibernate的一级和二级缓存,避免不必要的数据库查询。 综上...

    struts+hibernate+spring留言板(SQL2000数据库)

    同时,Hibernate的二级缓存和事务管理机制也能提高系统的性能和稳定性。 **Spring框架** Spring是一个全面的企业级应用开发框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能。在这个留言板项目中,Spring...

Global site tag (gtag.js) - Google Analytics