今天看了公司的项目,使用了hibernate开源框架,发现项目中好多配置数据(黑名单等)都是保存在static变量中,个人认为可使用hibernate的二级缓存来存储!
启用二级缓存步骤简介如下:
一、在hibernate.cfg.xml中启用二级缓存(参阅%HIBERNATE_HOME%\project\hibernate-ehcache\src\test\resources\hibernate-config\hibernate.cfg.xml配置文件)
<property name="hibernate.cache.use_query_cache">true</property>
<property name="cache.use_second_level_cache">true</property>
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.EhCacheRegionFactory</property>
备注:从以上配置中看出是使用EHCache进行缓存管理,需将ehcache.xml放置到class路径中并导入jar包hibernate-ehcache-4.1.7.Final.jar、ehcache-core-2.4.3.jar、slf4j-api-1.6.1.jar,本次测试用的hibernate版本是hibernate-core-4.1.7.Final.jar
二、指定需要缓存的实体对象(entity.BlackList)
在BlackList.hbm.xml中加入如下配置
<cache usage="read-only"/>
在hibernate.cfg.xml中也可指定需要缓存的实体对象
<class-cache usage="read-only" class="entity.Blacklist"/>
在ehcache.xml中也可指定需要缓存的实体对象
<!-- 库中黑名单有563条记录,所以maxElementsInMemory指定为563 -->
<cache name="entity.Blacklist"
maxElementsInMemory="563"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false"
/>
可以看出在ehcache.xml中配置灵活性比较好!
补充:使用session.getSessionFactory().getCache().evictXXX()可清空指定的缓存
Hibernate+EhCache配置二级缓存
Hibernate4.1.4配置二级缓存EHCache步骤
张卫_Struts2.3.4_Hibernate4.1.4_Spring3.1.1视频教程源码、笔记下载
在Spring、Hibernate中使用Ehcache缓存
Ehcache 整合Spring 使用页面、对象缓存
分享到:
相关推荐
以EhCache为例,我们需要在项目中引入ehcache-core或ehcache的依赖,并在Hibernate配置文件(hibernate.cfg.xml或persistence.xml)中启用二级缓存,添加如下配置: ```xml <property name="hibernate.cache.use_...
2. **配置**:在 Hibernate 的配置文件(如 hibernate.cfg.xml)中启用二级缓存,并指定使用的缓存提供商。例如,如果使用 Ehcache,需要设置 `<property name="hibernate.cache.use_second_level_cache">true...
3. **实体缓存配置**:接下来,在对应实体的映射文件(如`Customer.hbm.xml`)中,启用二级缓存支持。例如: ```xml ... ``` 这里的`usage`属性可以设置为`read-only`、`nonstrict-read-write`、`read-...
2. **配置Hibernate**:在Hibernate的配置文件`hibernate.cfg.xml`中启用二级缓存并指定缓存提供商。以下是一个使用Ehcache的示例: ```xml <property name="hibernate.cache.use_second_level_cache">true ...
要启用二级缓存,首先需要引入支持二级缓存的插件,如EhCache或Infinispan。然后,在`hibernate.cfg.xml`配置文件中,指定缓存提供者,并开启二级缓存: ```xml <property name="hibernate.cache.region.factory_...
2. 配置Hibernate:在hibernate.cfg.xml文件中启用二级缓存,并指定使用Ehcache作为二级缓存提供者。 3. 配置实体类:在实体类上使用`@Cacheable`、`@Cache`等注解,声明该类及属性参与缓存。 4. 配置缓存策略:...
2. 在 Hibernate 配置文件中启用二级缓存。 3. 在实体类上添加 `@Cacheable` 注解或者在映射文件中配置 `<cache>` 元素。 4. 配置实体类的缓存策略,例如使用 `@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)` ...
2. **配置Hibernate**:在hibernate.cfg.xml配置文件中,启用二级缓存并指定缓存提供者。例如: ```xml <property name="hibernate.cache.use_second_level_cache">true <property name="hibernate.cache.region....
Hibernate 二级缓存是针对SessionFactory级别的全局缓存,与一级缓存(Session级别)不同,一级缓存只在单个Session生命周期内有效。二级缓存则允许不同Session之间共享数据,提高了数据访问效率,减少了对数据库的...
对于读多写少的实体,启用二级缓存能显著提升性能。 一级缓存的管理主要由Session负责,通过evict()和clear()方法控制。evict()用于移除特定对象,clear()则清空整个缓存。二级缓存的管理则涉及更多的策略,包括...
对于每个实体类,我们需要决定是否启用二级缓存以及使用哪种缓存策略。在实体类上添加`@Cacheable`注解,可以启用二级缓存。同时,可以通过`@Cache`注解设置缓存策略,例如: ```java @Entity @Cacheable(true) @...
2. **配置Hibernate**:在`hibernate.cfg.xml`中启用二级缓存并指定缓存提供者: ```xml <property name="hibernate.cache.use_second_level_cache">true <property name="hibernate.cache.region.factory_class...
-- 启用二级缓存 --> <property name="hibernate.cache.use_second_level_cache">true <!-- 查询的二级缓存配置 --> <property name="hibernate.cache.use_query_cache">true ...
4. **注解配置**:在Java类或方法上使用注解可以方便地启用和配置二级缓存。例如,`@Cacheable`注解标记一个类为可缓存,`@Cache`注解可以进一步细化缓存配置,如区域、策略等。 5. **缓存区域**:在Hibernate中,...
在实际项目中,要启用Hibernate的二级缓存,需要进行以下步骤: 1. 引入上述jar包到项目的类路径中。 2. 配置Hibernate的`persistence.xml`或`hibernate.cfg.xml`文件,指定二级缓存提供商(如Ehcache)。 3. 在实体...
### Hibernate二级缓存技术详解 #### 一、概述 Hibernate 是一个开源的对象关系映射(ORM)框架,它简化了Java应用与关系型数据库之间的交互。为了提高性能和减少数据库的访问频率,Hibernate 提供了一级缓存和二...
最后,为了让Hibernate知道哪些实体类需要启用二级缓存,我们需要在实体类上添加注解`@Cacheable`和`@Cache`。例如: ```java @Entity @Cacheable(true) @Cache(region = "com.example.YourEntityClass", usage = ...
2. **配置Hibernate**:在hibernate.cfg.xml配置文件中启用二级缓存,并指定Ehcache为缓存提供者。 ```xml <property name="hibernate.cache.use_second_level_cache">true <property name="hibernate.cache....
当SessionFactory创建时,它可以配置来启用二级缓存,并指定一个缓存提供商,例如Ehcache。这样,SessionFactory就能管理和维护缓存中的对象。 启用二级缓存的步骤包括: 1. 将缓存配置文件(如ehcache.xml)放入...
为了在SSH框架中启用Hibernate的二级缓存,你需要做以下几步: 1. **配置Hibernate**:在hibernate.cfg.xml中添加二级缓存提供商的配置,例如Ehcache,指定对应的XML配置文件路径。 ```xml <property name="...