-
关于二级缓存的异常5
我在applicationContext.xml里面指定了 <prop key="cache.use_second_level_cache">true</prop>
<prop key="cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="cache.use_query_cache">true</prop>
然后给一个类用注解的方式使用二级缓存:@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
结果程序就会报异常: org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache] at org.hibernate.cache.impl.NoCachingRegionFactory.buildEntityRegion(NoCachingRegionFactory.java:66)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:261)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1400)
... 51 more
这会是什么原因啊?2013年4月12日 22:58
2个答案 按时间排序 按投票排序
-
<property name="hibernate.cache.use_query_cache">true</property> <property name="hibernate.cache.use_second_level_cache">true</property> <property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory/>
2013年4月13日 09:34
-
1、如果hibernate3/4
<entry key="hibernate.cache.use_second_level_cache" value="${hibernate.cache.use_second_level_cache}"/>
<entry key="hibernate.cache.use_query_cache" value="${hibernate.cache.use_query_cache}"/>
<entry key="hibernate.cache.region.factory_class" value="${hibernate.cache.region.factory_class}"/>
<entry key="net.sf.ehcache.configurationResourceName" value="${net.sf.ehcache.configurationResourceName}"/>
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=true
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
net.sf.ehcache.configurationResourceName=ehcache/ehcache_hibernate.xml
ehcache版本是2及以上2013年4月13日 07:32
相关推荐
在IT行业中,数据库缓存是提高系统性能的关键技术之一,而Redis作为一种高性能的键值存储系统,常被用作二级缓存。本文将深入探讨基于Redis实现的二级缓存机制,以及如何通过源码和工具来优化这一过程。 首先,我们...
在这个"带二级缓存和业务封装的SSH项目源码"中,我们可以看到开发者在原有的SSH基础上进行了一些高级特性的实现,特别是二级缓存和业务逻辑的封装,这些都是提升系统性能和开发效率的关键。 **Struts2** 是MVC...
**Hibernate 二级缓存详解** 缓存是一种提升应用程序性能的技术,它通过将常用数据存储在内存中,减少了对持久层数据库的访问,从而提高系统响应速度。在Hibernate框架中,缓存主要分为一级缓存和二级缓存。 **1. ...
本文将深入探讨如何使用`LruCache`和`DiskLruCache`实现一个二级缓存的自定义`ImageLoader`。 `LruCache`是Android SDK提供的内存缓存解决方案,全称为"Least Recently Used Cache"(最近最少使用缓存)。它的原理...
为了提高应用性能,Hibernate提供了一级缓存和二级缓存机制。一级缓存是SessionFactory级别的,它是自动管理的,每个Session内部都有一个一级缓存;而二级缓存则是SessionFactory级别的,可以跨Session共享数据,...
本项目“定时完成Springmvc+mybatis+redis完成二级缓存”结合了Spring MVC、MyBatis和Redis这三大技术,构建了一个基于二级缓存的登录系统。下面将详细介绍这个案例中的关键知识点。 首先,**Spring MVC** 是一个...
尽管EF本身并未内置二级缓存功能,但开发者可以通过第三方库或自定义实现来添加这一功能。 一级缓存,也称为身份映射器,是EF默认提供的。它存储了在单个数据库事务中访问过的实体,以避免重复的数据库查询。然而,...
这个压缩包"安卓图片加载缓存相关-Android图片二级缓存.zip"显然包含了关于如何实现高效图片加载和二级缓存的源码示例。这里我们将深入探讨图片加载缓存的概念、二级缓存的工作原理以及相关技术。 图片加载缓存主要...
这个项目包针对的是在实际开发中可能会遇到的一些常见问题,如中文乱码、二级缓存、JSON处理以及事务管理。以下是这些知识点的详细解释: 1. **Spring**:作为核心容器,Spring提供依赖注入(DI)和面向切面编程(AOP)...
由于内存有限,不能存放所有图片,DiskLruCache作为二级缓存,可以在内存中找不到图片时提供快速访问。在本项目中,开发者对DiskLruCache进行了封装,使其更容易集成到应用中。 项目中采用了网页爬虫技术抓取百度...
3. **缓存更新策略**:设置缓存更新规则,如使用Redis的`pub/sub`机制监听数据变更,当一级缓存中的数据过期或被修改时,同步更新二级缓存。 4. **异常处理**:处理缓存未命中、数据一致性等问题,确保在缓存故障时...
当一级缓存无法容纳所有数据或者数据过期时,二级缓存(通常是硬盘或分布式缓存系统)将作为数据的备份。这种设计兼顾了速度与容量,确保了数据的高效访问。 **主要特性** 1. **多缓存区域**:J2Cache 允许开发者...
本项目"uniapp 二级联动.zip"显然是一个关于使用uniapp进行二级联动功能开发的实践案例,这在很多数据筛选、地区选择等场景中非常常见。下面,我们将深入探讨uniapp二级联动的实现原理和相关知识点。 首先,理解...
二级缓存是SessionFactory级别的,可跨会话共享数据。通过配置`hibernate.cache.region.factory_class`和`hibernate.cache.use_second_level_cache`启用,可以显著提升系统性能,但需要注意并发和数据一致性问题。 ...
2. **二级缓存**:需要显式配置启用,通常用于跨多个`Session`之间共享数据,以减少数据库访问次数。 - 实现方式:可以通过多种第三方缓存实现,如EhCache、OSCache等。 - 配置方法:通过`hibernate.cfg.xml`文件...
Hibernate二级缓存(Second Level Cache,简称SLC)是解决大量数据库操作性能问题的重要手段之一。此文档详细描述了如何在Spring与Hibernate整合的项目中启用Hibernate的二级缓存,并给出实例详解。 在介绍具体步骤...
"图片三级缓存"是一种优化策略,旨在高效地加载和存储图片,防止因内存溢出(Out Of Memory, OOM)问题导致应用崩溃。在这个场景中,我们主要关注的是使用Diskspace LRU Cache(磁盘空间最近最少使用缓存)实现图片...
本文将详细介绍Hibernate的缓存机制,包括一级缓存、二级缓存和查询缓存,并探讨不同缓存范围和策略。 首先,一级缓存是每个`Session`内的缓存,它是一个短暂的存在,因为`Session`关闭后,一级缓存随之消失。一级...
### 二、异常处理 在缓存抽象类之外,定义了一个名为 `CacheException` 的异常类,它继承自 PHP 内置的 `Exception` 类。当缓存操作遇到错误时,可以通过抛出 `CacheException` 来处理异常情况。 ### 三、APC 缓存...
### JavaWeb中Ehcache缓存配置详解 ...Ehcache支持多种缓存策略,包括但不限于L1(一级缓存)、L2(二级缓存)等。在JavaWeb应用中,通常会利用Ehcache来增强Hibernate的缓存能力。例如,通过配置以下属性: ```xml ...