`

hibernate配置二级缓存出现的问题

 
阅读更多

(1)解决方案:少了commons-logging-1.1.1.jar这个包了

Exception in thread "main" java.lang.ExceptionInInitializerError

at cn.sjg.hibernate.CacheTest.addUser(CacheTest.java:32)

at cn.sjg.hibernate.CacheTest.main(CacheTest.java:19)

Caused by: org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]

at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:423)

at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)

at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2863)

at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2859)

at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1870)

at cn.sjg.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:23)

... 2 more

Caused by: java.lang.reflect.InvocationTargetException

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:409)

... 7 more

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

at com.opensymphony.oscache.base.Config.<clinit>(Config.java:23)

at org.hibernate.cache.OSCacheProvider.<clinit>(OSCacheProvider.java:55)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at java.lang.Class.newInstance0(Class.java:355)

at java.lang.Class.newInstance(Class.java:308)

at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:63)

... 12 more

Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

... 21 more

 

 

(2)解决方案:hibernate配置文件hibernate.cache.provider_class写成hibernate.cache.region.factory_class了

Exception in thread "main" java.lang.ExceptionInInitializerError

at org.geven.hibernate.CacheTest.addUser(CacheTest.java:28)

at org.geven.hibernate.CacheTest.main(CacheTest.java:15)

Caused by: org.hibernate.HibernateException: Could not instantiate cache implementation

at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:64)

at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:214)

at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)

at org.geven.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:27)

... 2 more

Caused by: 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.NoCacheProvider.buildCache(NoCacheProvider.java:21)

at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:61)

... 5 more

 

分享到:
评论

相关推荐

    Spring集成的Hibernate配置二级缓存

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

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

    下面我们将详细探讨如何为Spring集成的Hibernate配置二级缓存。 首先,我们需要了解Hibernate的二级缓存机制。一级缓存是每个Session内部的缓存,而二级缓存则是SessionFactory级别的,它可以被多个Session共享。二...

    hibernate5.1二级缓存包

    这个"hibernate5.1二级缓存包"应该包含了用于实现二级缓存的相关组件和配置。 二级缓存是相对于一级缓存(Session 缓存)而言的,一级缓存是每个 Hibernate Session 内部的缓存,而二级缓存则是在 SessionFactory ...

    hibernate一级缓存和二级缓存的区别与联系

    二级缓存可以通过设置不同的并发访问策略来解决并发问题,如事务型、读写型或非严格读写型,以适应不同场景下的需求。 持久化层的缓存范围决定了缓存的生命周期和访问权限。事务范围的缓存最安全,但只限于当前事务...

    hibernate一级和二级缓存配置与详解

    本篇将深入探讨Hibernate的一级缓存和二级缓存,以及查询缓存的配置和使用。 ### 一级缓存 一级缓存是Hibernate默认提供的缓存,它是Session级别的,每个Hibernate Session都有一个私有的、本地的一级缓存。当我们...

    Hibernate二级缓存

    2. **配置二级缓存**:在`hibernate.cfg.xml`配置文件中,需要指定二级缓存的提供商。例如,添加如下配置来启用ehcache: ```xml &lt;property name="hibernate.cache.region.factory_class"&gt;org.hibernate.cache....

    springboot+jpa(hibernate配置redis为二级缓存) springboot2.1.4

    在Spring Boot项目中配置Redis作为Hibernate的二级缓存,我们需要以下步骤: 1. **添加依赖**: 首先,在`pom.xml`文件中添加Spring Boot的JPA、Hibernate和Redis相关依赖,如: ```xml &lt;groupId&gt;org.spring...

    hibernate二级缓存实例

    总的来说,"hibernate二级缓存实例"是一个很好的学习资源,它可以帮助我们理解二级缓存的工作机制,掌握如何在项目中配置和使用,以及注意潜在的问题和优化策略。通过实践,我们可以更好地运用这一技术,提升Java...

    Hibernate4二级缓存实例(源码)

    3. **Hibernate与memcached集成**:将memcached作为Hibernate二级缓存的提供者,需要配置相应的插件或库,如hibernate-ehcache或hibernate-memcached。集成过程通常包括配置Hibernate的配置文件(hibernate.cfg.xml...

    day37 05-HIbernate二级缓存:一级缓存更新同步到二级缓存及二级缓存配置文件

    本篇文章将深入探讨Hibernate的二级缓存机制,以及如何进行一级缓存与二级缓存的同步,同时还会介绍二级缓存的配置文件设置。 一级缓存是Hibernate默认提供的缓存,每个SessionFactory实例都有一个一级缓存。当对象...

    hibernate一级缓存、二级缓存和查询缓存

    - **配置复杂**:二级缓存需要在Hibernate配置文件中指定缓存提供商,并对实体类进行配置,以便它们能够参与缓存。 - **缓存策略**:二级缓存支持不同的缓存策略,如读写策略、只读策略、定时刷新策略等,可以根据...

    hibernate 二级缓存详解

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

    hibernate开启二级缓存和查询缓存

    2. 在 Hibernate 配置文件中启用二级缓存。 3. 在实体类上添加 `@Cacheable` 注解或者在映射文件中配置 `&lt;cache&gt;` 元素。 4. 配置实体类的缓存策略,例如使用 `@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)` ...

    hibernate二级缓存示例源码

    在Hibernate配置文件(hibernate.cfg.xml)中,我们需要添加二级缓存插件的相关配置,例如Ehcache: ```xml &lt;property name="hibernate.cache.region.factory_class"&gt;org.hibernate.cache.ehcache....

    Spring4+Hibernate4二级缓存实例源码

    本实例源码着重展示了如何在Spring4和Hibernate4中配置并使用二级缓存。 首先,我们需要理解什么是二级缓存。在Hibernate中,一级缓存是每个Session级别的,它存储了当前Session中所有持久化对象的副本,当Session...

    Hibernate一级缓存和二级缓存

    1. **并发控制**:在多线程环境下,二级缓存可能引发并发问题,需要合理配置并发策略。 2. **缓存同步**:数据库和缓存的数据同步是挑战,需要处理好缓存失效和更新的问题。 3. **性能优化**:不是所有的数据都适合...

    hibernate的一级缓存和二级缓存

    《深入理解Hibernate的一级缓存与二级缓存》 Hibernate作为一款强大的ORM框架,其缓存机制是优化数据库操作性能的关键之一。缓存主要分为一级缓存和二级缓存,它们各自承担着不同的职责,共同提升了数据访问的效率...

    hibernate4配置二级缓存

    2. **配置Hibernate**:在hibernate.cfg.xml配置文件中启用二级缓存,并指定Ehcache为缓存提供者。 ```xml &lt;property name="hibernate.cache.use_second_level_cache"&gt;true &lt;property name="hibernate.cache....

    hibernate二级缓存要导入的包

    例如,如果使用Ehcache作为二级缓存实现,你需要引入`hibernate-ehcache`的jar包,并在Hibernate配置文件(如`hibernate.cfg.xml`)中进行配置。 配置二级缓存的步骤通常如下: 1. **引入依赖**:在项目构建工具...

Global site tag (gtag.js) - Google Analytics