hibernate 二级缓存 SessionFactory级共享
实现为可插拔,通过修改cache.provider_class参数来改变;
CacheProvider和Cache接口来加入Hibernate不支持的缓存实现;
在hibernate.cfg.xml中加入:
<class-cache class="className" usage="read-only"/>
或在映射文件的class元素加入子元素:
<cache usage="read-write"/>
其中usage:read-only,read-write,nonstrict-read-write,transactional
Session的:sava(这个方法不适合native生成方式的主键);
update, savaOrUpdate,list,iterator,get,load会从二级缓存中取数据(iterator可能存在N+1次查询).
Query,Criteria(查询缓存) 由于命中率较低,所以hibernate缺省是关闭;修改cache.use_query_cache为
true打开查询缓存,并且调用query.setCacehable(true)或criteria.setCacheable(true).
SessionFactory中提供了evictXXX()方法用来清除缓存中的内容.
统计信息打开generate_statistics,用sessionFactory.getSatistics()获取统计信息,有利于在调试时使用。
分享到:
相关推荐
一级缓存是每个Session内部的缓存,二级缓存则可跨Session共享,可以通过插件如Ehcache进行配置。 6. **事务支持**:Hibernate内置了对JTA(Java Transaction API)的支持,可以方便地处理分布式事务。 7. **类型...
8. **二级缓存**:Hibernate 3.2 支持二级缓存,可以显著提高性能。缓存提供商如Ehcache或Memcached可以集成到Hibernate中,缓存对象实例以减少对数据库的访问。 9. **实体状态管理**:Hibernate 3.2 理解对象的...
2. **第二级缓存**:支持缓存策略的优化,可以提高应用性能,因为它减少了对数据库的直接访问。 3. **Hibernate检索策略**:包括“立即加载”和“延迟加载”,可以根据需求选择何时加载关联的对象。 4. **类型系统...
第二级缓存可配置,可以跨Session共享数据,提高性能。 6. **一对多、多对一、一对一关联映射** - 通过@ManyToOne、@OneToMany、@OneToOne注解定义不同类型的关联关系,简化了数据间的关联操作。 7. **延迟加载...
二级缓存则是SessionFactory级别的,可以跨Session共享,需要第三方缓存提供商如Ehcache支持。 7. **Transactions**:Hibernate支持JTA(Java Transaction API)和JDBC事务管理。通过Session的beginTransaction()、...
4. **缓存机制**:通过一级缓存(Session Cache)和二级缓存(如Ehcache),优化了数据访问性能。 5. **查询语言**:Hibernate提供HQL(Hibernate Query Language),一种面向对象的查询语言,以及Criteria API,让...
- **缓存机制**:介绍 Hibernate 的一级缓存和二级缓存,提高应用性能。 - **事务管理**:如何利用 Hibernate 进行事务的管理。 - **批量更新**:介绍如何优化大量的数据更新操作。 #### 八、扩展与插件 - **拦截...
5. **Caching**: 为了提高性能,Hibernate 3.2引入了缓存机制,如一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的缓存)。二级缓存可以集成第三方缓存系统,如Ehcache。 6. **Mappings**: ...
在Spring框架中管理SessionFactory时,可以在配置文件中添加相应的bean定义,指定数据源、Hibernate属性以及二级缓存的相关设置。例如,`hibernate.cache.use_query_cache`属性可以开启查询缓存,进一步优化性能。 ...
Hibernate 3.2引入了二级缓存,通过CacheProvider实现,如Ehcache,可以显著提高性能。一级缓存是每个Session内的缓存,而二级缓存则是在SessionFactory级别,可跨Session共享。 七、事件监听器 Hibernate支持事件...
9. **二级缓存**:为了提高性能,Hibernate支持二级缓存,可以存储已加载的对象,减少对数据库的访问。常用的二级缓存提供商有Ehcache和Hibernate自身的L2 Cache。 10. **JPA支持**:Hibernate 3.2开始支持JPA规范...
9. **Caching缓存**:Hibernate支持二级缓存,可以集成第三方缓存系统,如 Ehcache,以进一步提升性能。 10. **Callback事件**:Hibernate允许在对象生命周期中的特定时刻(如加载、保存、更新和删除)注册回调方法...
7. **第二级缓存**:Hibernate 3.2引入了对第二级缓存的支持,允许缓存整个实体或者查询结果,提高应用性能。常见的第二级缓存提供商有Ehcache和 OSCache。 8. **事件监听器**:Hibernate 3.2允许开发者注册事件...
10. **缓存策略**:Hibernate支持第二级缓存和查询缓存,以提高性能。了解如何配置和使用缓存可以显著提升应用程序的响应速度。 11. **事务管理**:Hibernate支持JTA和JPA的事务管理,通过SessionFactory的...
一级缓存是默认的,每个Session都有自己的缓存,而二级缓存可配置为全局共享,提高了数据读取效率。 7. **事务处理**:Hibernate提供了集成的事务管理,可以与JTA(Java Transaction API)或JDBC事务配合使用,确保...
Hibernate 3.2引入了第一级缓存(Session级别)和第二级缓存(SessionFactory级别)。第一级缓存默认开启,提供高性能的本地缓存;第二级缓存可以通过插件如Ehcache实现,支持集群环境下的缓存共享。 七、高级特性 ...
一级缓存(Session 缓存)是默认的,而二级缓存(可配置的)可以跨多个 Session 共享,例如使用 EhCache 或 Memcached。 ### 8. 支持多种数据库 Hibernate 3.2 具有良好的数据库无关性,支持多种主流的关系型...
8. **第二级缓存**:介绍Hibernate的缓存机制,如使用第三方缓存提供商(如Ehcache)实现二级缓存,提高性能。 9. **性能优化**:提供性能调优建议,如批处理、延迟加载、结果集缓存等。 10. **其他高级特性**:...
5. Caching:为了提高性能,Hibernate 3.2支持二级缓存,如Ehcache,使得频繁访问的数据可以存储在内存中,减少对数据库的访问。 6. 异步操作:通过引入Future和ListenableFuture,Hibernate 3.2支持异步数据操作,...