- 浏览: 7189198 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (397)
- 架构研究 (44)
- 网络协议-TCP/HTTP (20)
- SPRING (23)
- HIBERNATE 3 (30)
- STRUTS 2 (20)
- Java/J2se (25)
- Servlet/Jsp (9)
- 开发工具IDE (10)
- WEB服务器 (17)
- 前端--Java Script (33)
- 前端--CSS (7)
- OS--Linux (31)
- OS--MAC OS (19)
- MySQL数据库 (19)
- Oracle数据库 (11)
- 项目管理工具 (12)
- 数据报表技术 (4)
- 图像处理技术 (10)
- 其它综合技术 (13)
- 权限管理 (1)
- MyBatis (1)
- 网络安全 (6)
- IO (21)
- PostgreSQL (2)
- Eclipse RCP (1)
- GWT (1)
- 算法 (3)
- Storm (2)
- zookeeper (3)
- 消息 (1)
最新评论
-
bukebuhao:
已解决,打开文件太多。ulimit -n 上次临时生效后再次s ...
TFS(Taobao File System)配置dataServer、分区、挂载数据盘 -
bukebuhao:
ds重启后启动不了。报错信息如下,请大神帮助[2018-08- ...
TFS(Taobao File System)配置dataServer、分区、挂载数据盘 -
墨上清:
感谢,看完有了一个完整的知识网络。
Spring MVC 教程,快速入门,深入分析 -
云卷云舒灬:
谢谢,学到很多
Spring MVC 教程,快速入门,深入分析 -
luozhy:
非常感谢非常感谢
Project Web Access ActiveX控件 安装
一. 我们使用oscache来演示 , 引入oscache的jar包到工程中.
二. 把下载的Hibernate压缩包中的 hibernate-3.2\etc\oscache.properties放入classpath中. 用默认设置就行了.
三.修改hibernate.cfg.xml , 加入如下, 意思启用二级缓存, 指定使用OSCache这个实现.
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory > <property name="show_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///test</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">1234</property> <!-- 这行不写也行,默认就为true--> <property name="cache.use_second_level_cache">true</property> <!-- 对Query也开启缓存 ,由于命中率太低,建议不开 --> <property name="cache.use_query_cache">true</property> <!-- 指定使用OSCache这个实现--> <property name="cache.provider_class">org.hibernate.cache.OSCacheProvider</property> <!-- 打开统计信息--> <property name="generate_statistics">true</property> <mapping resource="dao/po/Department.hbm.xml"/> <mapping resource="dao/po/Employee.hbm.xml"/> <mapping resource="dao/po/Person.hbm.xml"/> <mapping resource="dao/po/IdCard.hbm.xml"/> <mapping resource="dao/po/Teacher.hbm.xml"/> <mapping resource="dao/po/Student.hbm.xml"/> <mapping resource="dao/po/User.hbm.xml"/> <mapping resource="extends_test/extends_1/Person.hbm.xml"/> <mapping resource="extends_test/extends_2/Person.hbm.xml"/> <mapping resource="extends_test/extends_4/Person.hbm.xml"/> <!-- 以下类被缓存--> <class-cache class="dao.po.Person" usage="read-write"/> </session-factory> </hibernate-configuration>
四.usage的说明
"read-only" 只读的, po不能修改, 修改会抛异常
"read-write" 可对PO读写. 不怕并发修改
"nonstrict-read-write" 非严格的 读写, 并发修改不会问题, 一般用在能容忍出问题的环境.
"transactional" 有事务的,缓存 , oscache不是支持, jboss 有实现.
五. 查询测试, 看看命中几次
package cache_test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.stat.Statistics; import dao.HibernateUtil; import dao.po.Person; /** * 测试缓存 * */ public class Test { public static void main(final String[] args) { query(); final SessionFactory sf = HibernateUtil.getSessionFactory(); final Statistics s = sf.getStatistics(); System.out.println(s); //打印所有信息 监测SessionFactory System.out.println("---------------"); System.out.println("放入:" + s.getSecondLevelCachePutCount()); //打印缓存的信息 System.out.println("命中:" + s.getSecondLevelCacheHitCount()); System.out.println("丢失:" + s.getSecondLevelCacheMissCount()); } public static void query() { Session session = null; for (int i = 0; i < 10; i++) { session = HibernateUtil.getSeesion(); final Person p1 = (Person) session.get(Person.class, 1); session.close(); System.out.println(p1.getName()); } } }
六: 打印出:
放入:1
命中:9
丢失:1
发表评论
-
Hibernate二级缓存 ---- 最佳实践
2010-11-08 10:17 39285作者:赵磊 博客:ht ... -
Hibernate--泛型DAO
2010-06-27 19:49 5051泛型DAO(翻译) http://www.iteye.com ... -
Hibernate--空位
2010-06-27 15:41 1796原文章已合并整理到: http://elf8848.itey ... -
Hibernate 操作Blob Clob
2010-06-14 16:50 5250Photo.java import java.sql.Bl ... -
Hibernate ---- 控制日志
2010-06-06 11:46 3043Hibernate版本 3.3或3.4 Hibernate ... -
Hibernate悲观锁定与乐观锁定
2010-05-17 15:08 2241悲观锁定 由数据库方面实现. 可见:Hibernate悲观锁 ... -
Hibernate懒加载深入分析
2010-05-14 11:22 8281[size=small] ------------------ ... -
Hibernate批量操作(JDBC批量操作)
2009-03-30 14:52 8401部分内容转自 :http://ga ... -
Hibernate分页查询与泛型
2009-03-26 19:03 7357JE有两篇文章,关于分页查询 与泛型 的,写的很好.这里收藏一 ... -
20 Hibernate 1+N问题的原理与解决
2009-03-04 09:44 13075什么时候会遇到1+N的问题? 前提:Hibernate默认表 ... -
19 Criteria查询,DetachedCriteria离线查询 --做综合查询
2009-03-04 09:35 3731通过Session得到Criteria类的对象 /** ... -
空位空位
2009-03-03 10:22 2332空位空位空位空位 -
17 继承(四)每一个具体的类 映射到一张表
2009-03-02 13:54 2296类(Person) , 男人(Men)继 ... -
16 继承(三)(把前面14,15讲的情况结合起来)
2009-03-02 13:30 2090人类(Person) , 男人(Men)继承"人& ... -
15 继承(二)(每个子类扩展的属性单独保存在一张表中)
2009-03-02 13:07 2068人类(Person) , 男人(Men)继承" ... -
14 继承(一)(整个继承树映射到一张表)
2009-03-02 11:00 2224人类(Person) , 男人(Men)继承" ... -
13 级联和关系维护(Cascade 和Inverse)
2009-03-01 17:58 3039Cascade用来说明当对主对象进行某操作时, 是否对其关联的 ... -
12 映射-- 集合类的映射(Set,List,Map,Array)
2009-03-01 16:18 2621部门类Department , 他有 empa1, emp ... -
11 映射-- 组件映射(人类与姓名类)
2009-03-01 15:26 2360User类: 注意他的name属性 package ... -
10 映射-- 多对多(老师与学生)
2009-03-01 15:01 2576学生类: package dao.po; impo ...
相关推荐
### Hibernate入门知识点详解 #### 一、概述 在IT领域,特别是软件开发中,数据库与对象之间的交互一直是项目中的核心部分。为了更好地处理这一过程,众多框架和技术应运而生,其中Hibernate作为一款优秀的对象...
1. 使用二级缓存提高性能:配置合适的缓存策略,减少数据库访问。 2. 合理设计实体关系:避免深度嵌套的对象关系,以减少懒加载可能导致的性能问题。 3. 谨慎使用JOIN操作:在大型项目中,过多的JOIN可能导致性能...
此外,还可以了解Hibernate的缓存机制,如一级缓存和二级缓存,以提高应用程序性能。 总之,Hibernate作为Java开发中的重要工具,提供了强大的ORM功能,让开发者可以更加专注于业务逻辑,而不是底层的数据库操作。...
**标题:“Hibernate3完整入门示例含jar包”** Hibernate是一个强大的Java库,它作为对象关系映射(ORM)框架,使得开发人员可以更轻松地处理数据库操作。在这个压缩包中,包含的是Hibernate3的入门示例,以及必要...
- **缓存管理**:通过一级缓存和二级缓存来优化数据访问速度。 - **Session管理**:如何管理和控制Session的生命周期,确保数据一致性。 - **Hibernate与Spring的集成**:如何在Spring框架中使用Hibernate,以及最佳...
同时,对可选配置属性,如SQL方言、外键获取策略、二层缓存和查询缓存的配置也给予了充分的关注。此外,文档还讲解了日志记录、命名策略的实现、XML配置文件的使用,以及J2EE应用服务器的集成,为开发者提供了全方位...
为了提高性能,Hibernate引入了缓存机制,分为一级缓存和二级缓存。本篇文章将深入探讨Hibernate缓存,并通过实例演示其配置和使用。 1. Ehcache与Hibernate集成 Ehcache是一种广泛使用的开源Java分布式缓存系统,...
第二级缓存是SessionFactory级别的,可以跨Session共享数据。通过配置文件或编程方式可以启用并配置缓存。 七、总结 这个hibernate入门示例旨在帮助初学者理解如何使用Hibernate进行数据库操作。通过学习,你可以...
### Struts2.0、Spring2.0与Hibernate3.0整合开发快速入门知识点解析 #### 一、Struts2.0与Hibernate3.0整合基础 **知识点1:Struts2.0简介** - **定义**: Struts2是Apache基金会下的一个开源项目,它是一个基于...
【hibernate入门小程序和jar文件包】是...为了进一步提高,建议阅读Hibernate官方文档,学习更高级的概念如二级缓存、查询优化、多表关联等。同时,不断实践和理解这些知识,将有助于你在实际项目中熟练运用Hibernate。
二级缓存可配置为共享的,提高性能。 ### 8. Hibernate 示例 在提供的压缩包中,你可能会找到以下资源: - `Hibernate_3.2.0_Reference_zh_CN.chm`:官方参考手册,详细介绍Hibernate 3.2.0的功能和API。 - `...
### Hibernate入门必看知识点 #### 一、搭建环境与配置 **1.1 搭建环境** - 创建一个新的Java项目,命名为`HibernateDemo`。 - 导入Hibernate的jar包,确保导入`lib\required`目录下的所有jar包以及核心的`...
### hibernate3入门知识点 #### 一、概述 **Hibernate**是一种对象关系映射(Object/Relational Mapping,简称ORM)解决方案,它提供了一种机制,用于将Java对象及其关系映射到关系型数据库中的表及其关系。通过...
- 数据缓存:了解Hibernate的二级缓存机制,提高应用程序性能。 3. **Day03:高级特性** - 关联映射:深入学习一对一、一对多、多对一、多对多的关联映射,以及懒加载和立即加载策略。 - 改动追踪与脏检查:理解...
- **二级缓存**:可选配置,用于在不同Session之间共享数据,提高性能。 - **批处理**:通过一次执行多个操作来提高性能。 - **延迟加载**:只在真正需要时加载关联对象的数据。 #### 六、错误与调试 - **常见错误...
10. **缓存机制**: Hibernate提供了一级缓存(Session级别)和二级缓存(SessionFactory级别),提高数据访问效率。 11. **实体状态管理**: Hibernate管理实体的瞬时态、持久态、游离态三种状态,理解这些状态有助...
- 理解 Hibernate 的一级缓存和二级缓存机制,以及如何优化性能。 - 探索 Hibernate 的 Criteria API 和 CriteriaBuilder,进行更灵活的查询。 - 研究 Hibernate 的事件监听和拦截器,实现自定义逻辑。 - 学习 ...
- 缓存机制:介绍Hibernate的缓存策略,如一级缓存和二级缓存,以及如何配置和使用。 - 批量操作:讲解如何通过批处理减少数据库交互次数,提高性能。 9. **问题与挑战** - 性能调优:给出实际项目中可能遇到的...