<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<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.configurationResourceName">ehcache.xml</prop>
</props>
</property>
ehcache.xml 配置
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
/>
maxElementsInMemory属性用于指定缓存中最多可放多少个对象。
eternal属性指定缓存是否永久有效。
timeToIdleSeconds属性指定缓存多久未被使用便清理掉。
timeToLiveSeconds属性指定缓存的生命长度。
diskPersistent属性指定缓存是否被持久化到硬盘中,保存路径由<diskStore>标签指定。
log4j 配置
log4j.category.net.sf.ehcache debug,FrameWorkEhCache
log4j.appender.FrameWorkEhCache org.apache.log4j.DailyRollingFileAppender
log4j.appender.FrameWorkEhCache.File ${system.logPath}/FrameWorkEhCache.log
log4j.appender.FrameWorkEhCache.DatePattern yyyy-MM-dd'.log'
log4j.appender.FrameWorkEhCache.layout org.apache.log4j.PatternLayout
log4j.appender.FrameWorkEhCache.layout.ConversionPattern [%c]-[%p] %m%n
log4j.appender.FrameWorkEhCache.append false
Java代码
public <E> List<E> getAll(String queryString) {
// CL_TODO Auto-generated method stub
HibernateTemplate template = this.getHibernateTemplate();
template.setCacheQueries(true);
List<E> l = template.find(queryString);
template.setCacheQueries(false);
return l;
}
hbm文件
<cache usage="read-write"/>
分享到:
相关推荐
本文将详细探讨如何在Spring集成的Hibernate环境中配置二级缓存,以及其背后的原理和实践。 首先,我们需要了解什么是二级缓存。在Hibernate中,一级缓存是每个Session内部的缓存,它自动管理实体的状态,当一个...
3. **配置Spring**:在Spring的配置文件(如`applicationContext.xml`)中,配置Hibernate SessionFactory,并注入二级缓存配置。以下是一个配置示例: ```xml <bean id="sessionFactory" class="org.spring...
在本配置中,Hibernate版本为5.1.3,支持JPA规范,提供了二级缓存功能,提高了数据访问性能。 4. **二级缓存(Ehcache)**: Ehcache是Hibernate的一个可选二级缓存插件,用于存储数据库查询结果,减少对数据库的...
通过以上步骤,我们就成功地在Spring Boot 2.1.4.RELEASE项目中配置了使用Redis作为Hibernate二级缓存的环境。这将显著提升数据库查询效率,减少对数据库的压力,尤其在高并发场景下,效果尤为明显。记得在实际生产...
在Spring框架中管理SessionFactory时,可以在配置文件中添加相应的bean定义,指定数据源、Hibernate属性以及二级缓存的相关设置。例如,`hibernate.cache.use_query_cache`属性可以开启查询缓存,进一步优化性能。 ...
通过这个"Spring4+Hibernate4二级缓存实例源码",你可以学习到如何在实际项目中结合Spring和Hibernate实现二级缓存,提高应用的运行效率。同时,深入理解缓存的工作原理和最佳实践,对于优化系统的性能和架构有着...
`caching`和`Hibernate+ehcache二级缓存配置 - 王贵伟 - JavaEye技术网站.files`、`spring中配置二级缓存.files`这些目录可能包含了相关配置文件和资源。 总的来说,Spring二级缓存通过集成EhCache,实现了跨会话的...
SSH(Struts2、Spring、Hibernate)是一种...通过部署到Tomcat服务器,初学者可以了解和学习如何在实际环境中配置和使用Hibernate二级缓存。这将是一个不错的实践项目,有助于理解SSH框架和Hibernate缓存的工作原理。
### Hibernate二级缓存技术详解 #### 一、概述 Hibernate 是一个开源的对象关系映射(ORM)框架,它简化了Java应用与关系型数据库之间的交互。为了提高性能和减少数据库的访问频率,Hibernate 提供了一级缓存和二...
**一、Hibernate二级缓存** Hibernate一级缓存是指Session级别的缓存,它是默认开启的,每个Session都会维护一个对象缓存,用来存放该Session加载的实体对象。一级缓存的生命周期与Session相同,当Session关闭时,...
#### 一、二级缓存配置 **1. 引入依赖库** 首先,需要确保项目中已经引入了相应的缓存实现库,如EhCache。在Maven项目的`pom.xml`文件中添加以下依赖: ```xml <groupId>org.hibernate <artifactId>hibernate-...
在本讲中,我们将深入探讨如何为Spring整合的Hibernate配置二级缓存。二级缓存是Hibernate框架中的一个重要特性,它可以显著提升数据访问性能,通过在应用程序级别存储对象,减少了对数据库的直接访问次数。理解并...
- 在Hibernate配置中指定使用hibernate-memcached作为二级缓存。 - 如果单独使用Spring,需要配置Spring的缓存管理器,并关联xmemcache-spring的相关配置。 - 在需要缓存的方法上使用Spring的缓存注解。 8. **...
总结来说,Spring的二级缓存配置涉及多个层面,包括引入缓存库、设置缓存策略、配置Spring以及在业务代码中使用注解。合理利用二级缓存,能够有效提升系统的响应速度,降低数据库压力,但同时也需要注意缓存的维护和...
在这个“Hibernate4二级缓存Ehcache案例”中,我们将深入探讨如何利用Ehcache作为Hibernate的二级缓存提供商,以提升应用性能。 首先,我们需要了解什么是二级缓存。一级缓存是Hibernate Session级别的缓存,每个...
通过以上配置和理解Hibernate的查询策略,我们可以有效地利用二级缓存提高网上商城项目的性能,减少对数据库的压力,特别是对于频繁访问的热门商品信息,二级缓存能显著提升用户体验,降低系统的响应时间。...
Spring3支持Hibernate的二级缓存,可以通过注解来启用或禁用缓存。例如,使用`@Cacheable`、`@CacheEvict`和`@CacheConfig`等注解,分别用于读取缓存、清除缓存和全局缓存配置。 4. **实体类缓存配置** 对于需要...
2. 绑定 Hibernate 二级缓存:Spring Cache 可以与 Hibernate 二级缓存集成,通过配置让 Spring 的缓存操作直接作用于 Hibernate 的二级缓存。 3. 缓存策略:根据业务需求,调整缓存的过期时间、更新策略等,确保...
3. Spring Boot配置:在resources目录中创建hibernate.properties配置文件,设置相关属性,例如是否格式化SQL语句,以及是否启用二级缓存。 4. 实现二级缓存的策略:在Java代码中,需要正确地配置实体类和存储库...
Spring 整合 Hibernate 时启用二级缓存实例详解 写在前面: 1. 本例使用 Hibernate3 + Spring3; 2. 本例的查询使用了 HibernateTemplate; 1. 导入 ehcache-x.x.x.jar 包; 2. 在 applicationContext.xml ...