0 0

如何使Hibernate中EhCache缓存的Key能够动态设置0

您好!
     我现在在Hibernate中用EhCache做缓存,hibernate在对对象操作时自动缓存数据,但是缓存的key为对象的主键,我现在想对这个key在缓存前加上一个标识,因为我想对hibernate进行多schema扩展,所以如果用hibernate自己的缓存策略,相同的对象在schema切换后可能主键相同,那么缓存就会出现问题。求大牛帮忙下。谢谢!

伪代码描述如下:
  
    //前提,Schema1中已经缓存了主键为1的用户信息。
    Session session = null;
    User user = null;
    //1、这里用Schema1创建Session,通过缓存获取主键为1的用户
    session = Schema1.sessionFactory.openSession();
    user = session.get(1);
    session.close();

    //2、这里用Schema2创建Session,通过缓存获取主键为1的用户,但是
    //拿出来的用户信息却是Schema1中的主键为1的用户信息,所以我想
    //在hibernate进行二级缓存时,对缓存key进行操作,添加标识。
    session = Schema2.sessionFactory.openSession();
    user = session.get(1);
    session.close();
2012年9月27日 10:35

1个答案 按时间排序 按投票排序

0 0

采纳的答案

1、hibernate二级缓存默认策略是单SessionFactory的。
2、因此你创建了两个SessionFactory 则两套缓存无关。
3、二级缓存的cache name默认是class的全限定类名;
4、hibernate二级缓存 提供一个region的概念 可以使用region;
http://jinnianshilongnian.iteye.com/blog/1525884

2012年9月27日 12:56

相关推荐

    在Spring+Hibernate集成环境中使用EhCache缓存

    在Spring和Hibernate集成的开发环境中,使用EhCache作为缓存机制是常见的优化策略,它能够显著提升应用程序的性能和响应速度。EhCache是一款开源的、高性能的、内存级的分布式缓存解决方案,适用于Java应用程序。...

    cache/ehcache缓存使用

    Ehcache允许我们在XML配置文件中定义这些参数,或者在代码中动态设置。此外,Ehcache还支持二级缓存,当一级缓存满时,数据会自动存入二级缓存(如硬盘)。 总结来说,Ehcache是一个强大的Java缓存解决方案,它简化...

    Java缓存框架 EhCache

    1. **内存管理**:EhCache将数据存储在内存中,提供了对缓存大小的限制,可以设置最大缓存容量,以防止过度消耗内存资源。当缓存满时,可以通过LRU(Least Recently Used)或LFU(Least Frequently Used)等淘汰策略...

    Hibernate_EHcache.doc

    Ehcache作为Hibernate常用的二级缓存解决方案,能够有效提升系统性能,降低数据库负载。本文将详细讲解如何在Hibernate中整合Ehcache,并探讨其配置和使用方法。 一、Ehcache的集成 1. 引入Ehcache库:首先,我们...

    hibernate 二级缓存详解

    配置Ehcache作为二级缓存提供商,需要在Hibernate的配置文件中设置`hibernate.cache.provider_class`为`net.sf.hibernate.cache.EhCacheProvider`。如果启用查询缓存,还需添加`hibernate.cache.use_query_cache=...

    Hibernate+EhCache配置及使用说明详解

    1. 当用 Hibernate 的方式修改表数据(save,update,delete 等等),这时 EhCache 会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。但 对于数据经常修改的表来说,可能就失去缓存的意义了(不能减轻数据库...

    Spring集成的Hibernate配置二级缓存

    以EhCache为例,我们需要在项目中引入ehcache-core或ehcache的依赖,并在Hibernate配置文件(hibernate.cfg.xml或persistence.xml)中启用二级缓存,添加如下配置: ```xml <property name="hibernate.cache.use_...

    ehcache 缓存技术

    **EHCache缓存技术** EHCache是一款高性能、轻量级的Java缓存框架,它广泛应用于各种Java应用程序中,特别是需要提升数据访问速度和减少数据库负载的场景。EHCache是基于内存的,但同时支持持久化,能有效地提高...

    为Spring集成的Hibernate配置二级缓存

    2. **配置Hibernate**:在Hibernate的配置文件`hibernate.cfg.xml`中启用二级缓存并指定缓存提供商。以下是一个使用Ehcache的示例: ```xml <property name="hibernate.cache.use_second_level_cache">true ...

    缓存框架-Ehcache学习笔记

    Ehcache 提供了本地内存缓存、磁盘存储以及分布式缓存的能力,使得应用程序能够快速访问频繁使用的数据,从而提高整体性能和响应速度。 ### 1. Ehcache 基本概念 - **Cache**: 缓存是存储数据的临时区域,用于快速...

    EHcache 缓存使用 手动存储 配置到SSH

    EHcache是一款广泛使用的Java缓存框架,尤其在SSH(Spring、Struts、Hibernate)这样的企业级开发环境中,它能够有效地提升应用的运行效率。本文将详细探讨如何在SSH架构中手动配置和使用EHcache。 首先,我们需要...

    ehcache缓存

    Ehcache与Hibernate的二级缓存集成良好,是许多Java项目的首选。相较于Guava Cache和JCS(Java Caching System),Ehcache提供了更丰富的特性,如分布式缓存、磁盘存储和更完善的API。然而,对于轻量级应用,Guava ...

    Ehcache缓存技术说明

    首先,需要在Hibernate的配置文件中启用二级缓存并指定Ehcache为提供者,然后在实体类或映射文件中启用缓存。 ```xml <!-- hibernate.cfg.xml --> <property name="hibernate.cache.use_second_level_cache">true ...

    配置EhCache二级缓存

    #### 五、配置EhCache缓存插件 1. **添加EhCache JAR包**:在项目的类路径下添加EhCache的JAR包。 2. **创建`ehcache.xml`文件**:在项目的`src`目录下新建一个名为`ehcache.xml`的配置文件,用于指定EhCache的具体...

    Hibernate二级缓存技术

    – 设置Hibernate缓存提供者为EhCache –> <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider <!– 启用查询缓存 –> <property name="hibernate.cache.use_query_cache">true ``` 同时...

    hibernate二级缓存 SSH

    1. **配置Hibernate**:在hibernate.cfg.xml中添加二级缓存提供商的配置,例如Ehcache,指定对应的XML配置文件路径。 ```xml <property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache....

    Ehcache 整合Spring 使用页面、对象缓存

    - **与Spring、Hibernate的集成**:Ehcache可以非常容易地与Spring和Hibernate框架集成,简化缓存的配置和使用。 #### 二、准备工作 在开始使用Ehcache之前,需要先完成以下准备工作: 1. **下载JAR包**: - **...

    hibernate二级缓存

    如果二级缓存中也没有所需数据,则 Hibernate 会执行 SQL 查询,并将查询结果存储到二级缓存中。 #### 三、二级缓存的配置与实现 ##### 3.1 配置二级缓存 要在 Hibernate 中启用二级缓存,需要进行以下步骤: 1....

    Ehcache分布式缓存与其在spring中的使用

    ### Ehcache分布式缓存及其在Spring中的应用 #### 一、Ehcache概述与原理 Ehcache是一款高效且轻量级的纯Java缓存框架,由于其出色的性能和易于集成的特点,在Java开发中有着广泛的应用。作为Hibernate的默认缓存...

    Hibernate二级缓存攻略

    为了启用Ehcache作为二级缓存提供者,我们需要在Hibernate配置文件中设置`hibernate.cache.provider_class`为`net.sf.hibernate.cache.EhCacheProvider`。同时,如果要开启查询缓存,还需设置`hibernate.cache.use_...

Global site tag (gtag.js) - Google Analytics