欢迎来到天天文库
浏览记录
ID:40714095
大小:90.50 KB
页数:10页
时间:2019-08-06
《Hibernate入门基础概念整理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、以下资料为java培训为大家整理:第一次接触Hibernate已经是4年前的事情了,通过myeclipse可以直接生成实体类,甚感框架之神奇,最为神奇的是,习惯使用ibatis之后就再也没用过Hibernate了。 不得不承认,当习惯了一个方式处理一类事情之后,就总设法用最习惯的方式去面对所有问题了,直到遇到了不得不换种方式的时候,现在就是这个时候了。 好,不多废话了,开始整理Hibernate 一、Hibernate入门常识: 1.面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象、建立对象之 间的关系,调
2、用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程 和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差 异就表现在内存中的对象状态发生了变化。 2.为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保 存到持久化设备和从持久化设备中恢复出对象的状态,通常都是保存到关系数据库来保存大 量对象信息。从Java程序的运行功能上来讲,保存对象状态的功能相比系统运行的其他功 能来说,应该是一个很不起眼的附属功能,java采用jdbc来实现这个功能,这个不起
3、眼的 功能却要编写大量的代码,而做的事情仅仅是保存对象和恢复对象,并且那些大量的jdbc 代码并没有什么技术含量,基本上是采用一套例行公事的标准代码模板来编写,是一种苦活 和重复性的工作。 3.通过数据库保存java程序运行时产生的对象和恢复对象,其实就是实现了java对象与关 系数据库记录的映射关系,称为ORM(即ObjectRelationMapping),人们可以通过封装JDBC 代码来实现了这种功能,封装出来的产品称之为ORM框架,Hibernate就是其中的一种流行 ORM框架。使用Hibernate框架
4、,不用写JDBC代码,仅仅是调用一个save方法,就可以 将对象保存到关系数据库中,仅仅是调用一个get方法,就可以从数据库中加载出一个对象。 4.使用Hibernate的基本流程是:配置Configuration对象、产生SessionFactory、创建session 对象,启动事务,完成CRUD操作,提交事务,关闭session. 5.使用Hibernate时,先要配置hibernate.cfg.xml文件,其中配置数据库连接信息和方言等, 还要为每个实体配置相应的hbm.xml文件,hibernate.cfg.xm
5、l文件中需要登记每个hbm.xml 文件。 6.在应用Hibernate时,重点要了解Session的缓存原理,级联,延迟加载和hql查询。 细细品读上面这几句话,如果没懂,建议顺延学习Hibernate计划。 二、Hibernate工作原理 Hibernate的初始化。 读取Hibernate的配置信息-〉创建SessionFactory 1)创建Configeration类的实例。 它的构造方法:将配置信息(Hibernateconfig.xml)读入到内存。 一个Configeration实例代表H
6、ibernate所有Java类到Sql数据库映射的集合。 2)创建SessionFactory实例 把Configeration对象中的所有配置信息拷贝到SessionFactory的缓存中。 SessionFactory的实例代表一个数据库存储员源,创建后不再与Configeration对象关联。 缓存(cache):指Java对象的属性(通常是一些集合类型的属性--占用内存空间。 SessionFactory的缓存中:Hibernate配置信息。OR映射元数据。 缓存-大:重量级对象小:轻量级对象 3)调用Se
7、ssionFactory创建Session的方法 1.用户自行提供JDBC连接。 Connectioncon=dataSource.getConnection(); Sessions=sessionFactory.openSession(con); 2.让SessionFactory提供连接 Sessions=sessionFactory.openSession(); 4)通过Session接口提供的各种方法来操纵数据库访问。 三、Hibernate缓存体系 一级缓存: Session有一个内置的缓存,其中
8、存放了被当前工作单元加载的对象。 每个Session都有自己独立的缓存,且只能被当前工作单元访问。 二级缓存: SessionFactory的外置的可插
此文档下载收益归作者所有