Hibernate工作流程、优点、缓存机制
来源:互联网 发布:c语言课程设计案例 编辑:程序博客网 时间:2024/06/06 03:23
1.Hibernate工作流程
- 启动hibernate,构建Configuration实例,初始化改实例中的所有变量。(Configuration cfg = new Configuration().configure(); )
- Configuration实例读取并解析配置文件hibernate.cfg.xml,将该对象的映射信息加载至内存。备:一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。
- 创建SessionFactory实例(SessionFactory sf = cfg.buildSessionFactory();)。备:把Configeration 对象中的所有配置信息拷贝到SessionFactory的缓存中。 SessionFactory的实例代表一个数据库存储员源,创建后不再与Configeration 对象关联。
- 由SessionFactory实例创建连接 。方法一、hibernate自行创建:Session s = sf.openSession();方法二、用户自行提供JDBC连接:Connection con=dataSource.getConnection(); Session s=sessionFactory.openSession(con);
- 由Session创建事务Transation,Transaction tx = s.beginTransaction();
- 进行持久化操作,即访问数据库。
- 提交事务: tx.commit();。
- 关闭Session:s.close();。
- 关闭SessionFactory。
2.Hibernate的优点
- Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
- Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作。
- Hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
- Hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
3.Hibernate缓存机制
3.1、缓存分类:
3.1.1、一级缓存
Session 有一个内置的缓存,其中存放了被当前工作单元加载的对象。每个Session 都有自己独立的缓存,且只能被当前工作单元访问。
3.1.2、二级缓存
SessionFactory的外置的可插拔的缓存插件。其中的数据可被多个Session共享访问。
3.2、缓存范围
3.2.1、事务范围
事务范围的缓存只能被当前事务访问,每个事务都有各自的缓存,缓存内的数据通常采用相互关联的对象形式。缓存的生命周期依赖于事务的生命周期,只有当事务结束时,缓存的生命周期才会结束。事务范围的缓存使用内存作为存储介质,一级缓存就属于事务范围。
3.2.2、应用范围
应用程序的缓存可以被应用范围内的所有事务共享访问,缓存的生命周期依赖于应用的生命周期,只有当应用结束时,缓存的生命周期才会结束。应用范围的缓存可以使用内存或硬盘作为存储介质,二级缓存就属于应用范围。
3.2.3、集群范围
在集群环境中,缓存被一个机器或多个机器的进程共享,缓存中的数据被复制到集群环境中的每个进程节点,进程间通过远程通信来保证缓存中的数据的一致,缓存中的数据通常采用对象的松散数据形式。
- Hibernate工作流程、优点、缓存机制
- Hibernate 流程 优点
- Hibernate工作原理及其优点
- Hibernate 工作流程
- Hibernate工作流程
- Hibernate工作流程
- Hibernate工作流程
- Hibernate工作流程
- Hibernate工作流程
- hibernate工作流程
- Hibernate框架工作流程
- Hibernate工作流程
- hibernate工作流程
- Hibernate缓存机制介绍
- Hibernate:缓存机制解析
- Hibernate:缓存机制解析
- Hibernate的缓存机制
- Hibernate的缓存机制
- Sql Injection脚本注入终极利用方法
- 3.4.3 循环队列之静态存储空间(2)
- foreach
- Enable colorful terminal
- android之网络判断
- Hibernate工作流程、优点、缓存机制
- 使用 jQuery Mobile 与 HTML5 开发 Web App 推荐文章
- 【ACM】杭电1200:To and Fro
- 注意啦,笔记本是无线的,虚拟机上网方式莫用NAT,好难整。
- webrtc
- zoj1037-Gridland
- ASTA的学习
- 子过程实践
- section