Hibernate框架讲义分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate框架讲义 主讲目录 一、 Hibernate 简介二、 Hibernate 优缺点 三、 Hibernate 与JDBC的比较四、 Hibernate 中对象的状态五、 Hibernate 的功能特点六、 Hibernate 实例讲解Hibernate简介 1、Hibernate 是JDBC 的轻量级的对象封装,它是一个独立的对象持久层框架。Hibernate 可以用在任何 JDBC 可以使用的场合,例如Java应用程序的数据库访问代码,DAO 接口的实现类,甚至可以是EJB中 BMP 里面的访问数据库的代码; 2、Hibernate 是一个和JDBC密切关联的框架,所以Hibernate 的兼容性和 JDBC 驱动,和数据库都有一定的关系,但是和使用它的 Java 程序,和App Server 没有任何关系,也不存在兼容性问题; Hibernate优缺点 一、Hibernate优点 1、提高开发效率,节省编码时间; 2、Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性; 3、Hibernate 的性能非常好,因为它是个轻量级框架, 映射的灵活性很出色; 4、提供了很多功能性的特点; 二、Hibernate缺点 1、配置太灵活,使编程人员需要考虑的事项很多; 2、Hibernate做为ORM有一些固有的缺陷,比如批量Insert、Update和Delete的效率问题; 3.直接从xml文件里面读取数据库联接参数,这样就无法给数据库密码加密; 4.由于使用了映射文件,处理多态检索复杂; 5.限制所使用的对象模型,例如,一个持久性类不能映射到多个表; Hibernate与JDBC的比较 Hibernate 与 JDBC 对比: 1、内存消耗: 采用JDBC的架构无疑是最省内存的,基于JDBC轻量级的封装,Hibernate 的内存消耗很大一些,但微乎其微,就像任何高级语言的运行性能永远也不会好过汇编语言一个道理; 2、运行效率: ?°精心编写?±的JDBC一定是性能最好的。如果JDBC的代码写的非常优化,那么JDBC架构运行效率最高,但是实际项目中,这一点几乎做不到,这需 要程序员非常精通JDBC,运用Batch语句,调整 PreapredStatement 的Batch Size和Fetch Size等参数,以及在必要的情况下采用结果集cache等等。而一般情况下程序员是做不到这一点的。因此Hibernate架构表现出最快的运行效率。 对于Create、Update和Delete操作来说,由于普通的Java程序员未必会使用JDBC的Batch的功能,所以Hibernate会表现出超过JDBC的运行速度。 普遍情况下,Java程序员一般都不会考虑到在写JDBC的时候优化缓冲,而且这样做也不太现实,所以在某些情况下,ORM会表现出超过JDBC的Read速度。 3、开发效率: 在大型的项目中,特别是持久层关系映射很复杂的情况下,Hibernate效率高的惊人。 4、附加功能的支持:对分布式,安全检查,集群,负载均衡的支持 Hibernate中的对象状态 在Hibernate中,对象有三种状态:临时状态、持久状态和游离状态。 1、临时状态: 当new一个实体对象后,这个对象处于临时状态,即这个对象只是一个保存临时数据的内存区域,如果没有变量 引用这个对象,则会被JRE垃圾回收机制回收。这个对象所保存的数据与数据库没有任何关系,除非通过Session的save或者SaveOrUpdate把临时对象与数据库关联,并把数据插入或者更新到数据库,这个对象才转换为持久对象。 2、持久状态: 持久化对象的实例在数据库中有对应的记录,并拥有一个持久化表示(OID)。对持久化对象进行delete操作后,数据库中对应的记录将被删除,那么持久化对象与数据库记录不再存在对应关系,持久化对象变成临时状态。 持久化对象被修改变更后,不会马上同步到数据库,直到数据库事务提交。 3、游离状态: 当Session进行了Close、Clear或者evict后,持久化对象虽然拥有持久化标识符和与数据 库对应记录一致的值,但是因为会话已经消失,对象不在持久化管理之内,所以处于游离状态(也叫:脱管状态)。游离状态的对象与临时状态对象是十分相似的, 只是它还含有持久化标识。 Hibernate的功能特点1、数据库无关性; 2、缓存的管理,提供一、二级缓存; 3、基于ORMapping,面向对象操作,Hibernate对JDBC进行了非常轻量级的对象封装, 使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库; 4、实现表与表之间的关联关系:它支持各种关系数据库,从一对一到多对多的各种复杂关系; 5、提供对类、属性、集合的延

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档