Hibernate介绍

Hibernate介绍

ID:39549118

大小:37.25 KB

页数:13页

时间:2019-07-06

Hibernate介绍_第1页
Hibernate介绍_第2页
Hibernate介绍_第3页
Hibernate介绍_第4页
Hibernate介绍_第5页
资源描述:

《Hibernate介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1、Hibernate介绍Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用HibernateQL从数据库提取数据的代码的编写量,从而节约开发时间和开发成本Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流

2、行的数据库服务器。2、Hibernate原理Hibernate技术本质上是一个提供数据库服务的中间件。它的架构如图所示: 图1显示了Hibernate的工作原理,它是利用数据库以及其他一些配置文件如Hibernate.properties,XMLMapping等来为应用程序提供数据持久化服务的。Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTAAPI都被抽象了,Hiber

3、nate会替你照管所有的细节。1.Hibernate的初始化.读取Hibernate的配置信息-〉创建SessionFactory1)创建Configeration类的实例。它的构造方法:将配置信息(Hibernateconfig.xml)读入到内存。 一个Configeration实例代表Hibernate所有Java类到Sql数据库映射的集合。2)创建SessionFactory实例把Configeration对象中的所有配置信息拷贝到SessionFactory的缓存中。 SessionFactory的实例代表一个数据库存储员源,创建后不再与Configeration对象

4、关联。 缓存(cache):指Java对象的属性(通常是一些集合类型的属性--占用内存空间。 SessionFactory的缓存中:Hibernate配置信息。OR映射元数据。 缓存-大:重量级对象小:轻量级对象3)调用SessionFactory创建Session的方法1】用户自行提供JDBC连接。Connectioncon=dataSource.getConnection(); Sessions=sessionFactory.openSession(con);2】让SessionFactory提供连接Sessions=sessionFactory.openSession()

5、;4)通过Session接口提供的各种方法来操纵数据库访问。 Hibernate的缓存体系一级缓存:Session有一个内置的缓存,其中存放了被当前工作单元加载的对象。 每个Session都有自己独立的缓存,且只能被当前工作单元访问。二级缓存:SessionFactory的外置的可插拔的缓存插件。其中的数据可被多个Session共享访问。SessionFactory的内置缓存:存放了映射元数据,预定义的Sql语句。 Hibernate中Java对象的状态1.临时状态(transient)特征:1】不处于Session缓存中 2】数据库中没有对象记录Java如何进入临时状态1】通

6、过new语句刚创建一个对象时 2】当调用Session的delete()方法,从Session缓存中删除一个对象时。 2.持久化状态(persisted)特征:1】处于Session缓存中 2】持久化对象数据库中设有对象记录 3】Session在特定时刻会保持二者同步Java如何进入持久化状态1】Session的save()把临时-》持久化状态 2】Session的load(),get()方法返回的对象 3】Session的find()返回的list集合中存放的对象 4】Session的update(),saveOrupdate()使游离-》持久化3.游离状态(detached

7、)特征:1】不再位于Session缓存中 2】游离对象由持久化状态转变而来,数据库中可能还有对应记录。Java如何进入持久化状态-》游离状态1】Session的close()方法 2】Session的evict()方法,从缓存中删除一个对象。提高性能。少用。Hibernate的原理与配置天极网2005-3-2720:46:00文/罗小虎  也许你听说过Hibernate的大名,但可能一直不了解它,也许你一直渴望使用它进行开发,那么本文正是你所需要的!在本文中,我向大家重点介绍Hibernat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。