1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory
为什么要用:
1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作
3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
2. Hibernate是如何延迟加载?
1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection)
2. Hibernate3 提供了属性的延迟加载功能
当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。
3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)
类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、
4. 说下Hibernate的缓存机制
1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存
2. 二级缓存:
a) 应用及缓存
b) 分布式缓存
条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据
c) 第三方缓存的实现
5. Hibernate的查询方式
Sql、Criteria,object comptosition
Hql:
1、 属性查询
2、 参数查询、命名参数查询
3、 关联查询
4、 分页查询
5、 统计函数
6. 如何优化Hibernate?
1.使用双向一对多关联,不使用单向一对多
2.灵活使用单向一对多关联
3.不用一对一,用多对一取代
4.配置对象缓存,不使用集合缓存
5.一对多集合使用Bag,多对多集合使用Set
6. 继承类使用显式多态
7. 表字段要少,表关联不要怕多,有二级缓存撑腰
分享到:
相关推荐
【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....
### Hibernate、Spring和Struts工作原理及使用理由 #### Hibernate工作原理及使用理由 **1. Hibernate概述** Hibernate是一个开放源代码的ORM(Object-Relational Mapping)框架,用于简化数据库操作,它允许将...
源码分析是深入理解Hibernate工作原理的关键。通过阅读和理解以下关键组件的源码: 1. Configuration:配置加载和解析的过程。 2. SessionFactory:如何根据配置信息创建SessionFactory,以及其内部的缓存机制。 3....
实现ssh框架的整合Hibernate、Spring和Struts工作原理及使用理由
【标题】:“Hibernate查询缓存及实现....通过了解其工作原理、适用条件以及配置方法,开发者可以更好地利用这一特性来优化自己的项目。学习并实践这些知识,不仅可以提高代码质量,也能提升个人在开发领域的专业素养。
1. Hibernate的工作原理:涉及配置文件解析、SessionFactory创建、Session操作、事务管理和关闭流程。 2. Hibernate的使用理由:封装JDBC、简化DAO层、基于反射、性能优秀、支持多种关系。 3. Hibernate的延迟加载:...
源码包括了系统的后端代码,部署文档详细介绍了系统的部署步骤和环境配置要求,讲解内容涵盖了系统的功能模块、技术选型理由、设计思路以及使用方法。 适合人群:对招标流程管理有兴趣的开发人员或学生,具有Spring...
1. Hibernate工作原理及应用理由: Hibernate是一个对象关系映射(ORM)框架,它通过读取配置文件和映射信息来创建SessionFactory,之后打开Session进行数据库操作。Session是一个单线程对象,通过它来执行持久化...
1. **解释Struts框架及其工作原理** Struts是一个基于MVC模式的开源Web框架,用于构建动态网页应用。它通过将模型(Model)、视图(View)和控制器(Controller)分离来简化应用结构,提高可维护性和可扩展性。在...
持久代对垃圾回收没有显著影响,但是有些应用可能动态生成或者调用一些class,例如Hibernate等,在这种时候需要设置一个比较大的持久代空间来存放这些运行过程中新增的类。 什么情况下触发垃圾回收 垃圾回收有两种...
10. **文档与截图**:项目中的截图和文档可能包括系统流程图、类图、数据库设计图、使用说明等,帮助用户理解系统的工作原理和操作步骤。 总的来说,这个在线考试系统是一个综合性的Java Web项目,涉及到前端交互、...
【基于SSH的贴吧系统】 SSH(Struts2 + Spring + Hibernate)是一个常见的Java Web开发框架...开发者需要熟悉SSH框架的原理和使用,同时具备良好的数据库设计和管理能力,以及对Web安全的理解,才能构建出这样的系统。
- Nginx作为反向代理服务器的工作原理。 - Nginx的多进程模型。 - Nginx与Apache、Tomcat的区别。 - **面试考察要点:** - 如何通过Nginx提高网站性能。 - 如何配置Nginx以支持高并发访问。 **二、Httpclient*...
3. **源代码分析**:通过分析源代码,学习者可以深入理解系统的内部工作原理,包括类和对象的组织方式、数据的存储和处理、异常处理、并发控制等。这有助于提升编程技能和问题解决能力。 4. **文档阅读**:文档通常...
本文将深入探讨iBATIS DAO事务管理的具体实现方式及其配置细节,并通过分析相关的类结构图来更好地理解其内部工作原理。 #### 二、iBATIS DAO事务管理支持的事务管理框架 iBATIS DAO框架当前支持以下七种不同的...
通过这个课程设计,学生可以深入理解SSH框架的工作原理,学习如何将理论知识应用于实际项目开发,提升软件工程实践能力。同时,对于团队协作、版本控制、文档编写等软技能也有锻炼。这种实践经历对今后的就业和职业...