今天在配置spring + hibernate过程中出现些问题,不过最终成功了,拿出来分享一下
1:配置spring 文件
在sessionfactiory的bean中加上如下配置
- < prop key = " hibernate .show_sql" > true </ prop >
- 打开二级缓存
- < prop key = " hibernate .cache.use_second_level_cache" > true </ prop >
- 指定二级缓存的外部程序我用的是ECACHE
- < prop key = " hibernate .cache.provider_class" > org.hibernate .cache.EhCacheProvider </ prop>
- 打开hibernate 的查询缓存
- < prop key = " hibernate .cache.use_query_cache" > true </ prop >
2配置要使用缓存的实体
< hibernate -mapping >
< class name = "com.tjsinfo.tjsoa.mail.vo.TjsEmailFolder" table = "TjsEmailFolder" schema ="tjsoadba" catalog = "TJSOA" >
关键是这里指定缓存的策略一般用读写就可以了,如果数据从不变化可以用只读
< cache usage = "read-write" > </ cache >
< id name = "folderId" type = "java.lang.Integer" >
< column name = "Folder_id" />
< generator class = "native" />
</ id >
</ class >
</ hibernate -mapping >
3定义ehcache.xml文件
Xml代码
< ehcache >
< diskStore path = "java.io.tmpdir"></ diskStore>
<defaultCache maxElementsInMemory="10000" eternal="false"
timeToIdleSeconds="120" timeToLiveSeconds="120"
overflowToDisk="false" /></ehcache>
4执行相应的HQL语句,应当是第一次执行有SQL而第二次没有可是我试了一下还是有SQL说明查询缓存没用。我晕。
后来发现应当在调用查询的方法中的spring 的hibernate 模板设置打开查询缓存。
public List selectHql(String hql) {
getHibernateTemplate().setCacheQueries( true );
return getHibernateTemplate().find(hql);
分享到:
相关推荐
本文将详细探讨如何在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二级缓存的环境。这将显著提升数据库查询效率,减少对数据库的压力,尤其在高并发场景下,效果尤为明显。记得在实际生产...
通过这个"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 ...