知识大全 Hibernate3新特性及发展趋

Posted 版本

篇首语:宁死不背理,宁贫不堕志。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate3新特性及发展趋相关的知识,希望对你有一定的参考价值。

Hibernate3新特性及发展趋  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Hibernate是一种强大的可提供对象 关系持久化和查询服务的中间件 它可以使程序员依据面向对象的原理开发持久化类 实现对象之间的关联 继承 多态 组合 集合等

  Hibernate提供了它特有的数据库查询语言HQL 这种查询语言屏蔽了不同数据库之间的差别 使你可以编写统一的查询语句执行查询 不同于其他持久化解决方案的是Hibernate并没有把SQL的强大功能屏蔽掉 而是仍然兼容SQL 这使你以往的关系技术依然有效

  一 Hibernate的版本更新情况

  Hibernate版本更新速度很快 目前为止有两个阶段性的版本 Hibernate 和Hibernate 这一点程序员从其Jar文件名便可以看出来 至本文写成之日最新发布的版本是Hibernate

  Hibernate 系列的最高版本是Hibernate Hibernate 系列在编写本书时的最高版本是Hibernate GA版 GA也就是General Availability 即推荐广泛使用的版本 但目前使用较多且较稳定的版本是Hibernate 或Hibernat

  另外 自Hibernate 发布以来 其产品线愈加成熟 相继出现了Hibernate注释 Hibernate实体管理器 Hibernate插件工具等一系列产品套件 在方便程序员使用Hibernate进行应用程序的开发的同时 也逐渐增强了Hibernate产品线的实力

  但目前市面上用于学习Hibernate开发的图书并不多见 大多是介绍老版的Hibernate 最近希赛和博文联手推出的《贯通Hibernate开发》 对最新的Hibernate 作了详尽的解答 推荐读者阅读

  二 Hibernate 的新特性

  Hibernate 在产品的应用性上有了极大提高 并且基于Java 进行了改进 且与EJB 进行了集成 在功能上有了很大的提升 同时 Hibernate还对当今另一主流开发平台 微软的 NET平台进行了支持 因此具有更加强大的生命力

  相对于Hibernate Hibernate 版本的变化包括三个方面

  ( )API的变化

  API的变化中比较重大的变化是包名的变化 主要是包的根路径发生了改变 这一点程序员只需要在Eclipse中查看Hibernate jar这个文件中所包含的类就知道了 Hibernate 的根路径从Hibernate 的net sf hibernate变成了 hibernate 由于这两个路径完全不同 所以程序员能够在同一个应用程序中同时使用Hibernate 和Hibernate 如果希望把已有的应用升级到Hibernate 那么升级的第一步是把Java源程序中的所有net sf hibernate替换为 hibernate

  另外 在Hibernate 中 HibernateException异常以及它的所有子类都继承了Java lang RuntimeException 因此在编译时 编译器不会再检查HibernateException 在Hibernate 中 Session接口的createSQLQuery()方法被废弃 被移到 hibernate classic Session接口中 Hibernate 采用新的SQLQuery接口来完成相同的功能 在UserType和CompositeUserType接口中也都加入了一些新的方法 这两个接口被移到 hibernate usertype包中 用户定义的UserType和CompositeUserType实现类必须实现这些新方法 Hibernate 提供了ParameterizedType接口 用于更好的重用用户自定义的类型

  以上的这些主要变化将会影响到应用程序 程序员必须要进行相应的调整 才能使基于Hibernate 的应用程序正常运行

  ( )元数据

  元数据主要是指Hibernate映射文件中各种元素和属性的用法的变化 首当其冲的是Hibernate映射文件的文档类型定义 即DTD文件发生了变化 这一点程序员可以从任何一个Hibernate 的映射文件的文件头中发现 即在元素中定义的URL从//hibernate sourcefe net/hibernate mapping dtd变成了//hibernate sourcefe net/hibernate mapping dtd

  还有一个重大的改变就是lazy属性的默认值从false变成了true 这也是Hibernate从优化应用程序性能的角度出发所做出的决定 因为当lazy=false时 Hibernate对所有字段都采取预先抓取的策略 如果程序员希望采用延迟加载 必须手工在映射文件中将lazy属性的值设为true 然而总是采用预先抓取策略势必会造成极大的资源占用 从而降低应用程序的性能 所以从应用程序的角度来讲 更希望lazy的默认值是true 这样在有需要的时候才去采用预先抓取的检索策略

  ( )HQL查询语句

  Hibernate 采用新的基于ANTLR的HQL/SQL查询翻译器 不过 Hibernate 的查询翻译器也依然存在 在Hibernate的配置文件中 hibernate query factory_class属性用来选择查询翻译器

  三 Hibernate的发展趋势

  Hibernate是一个非常优秀的持久层解决方案 具有以下发展趋势

  ( )与其他开发框架的集成将越来越成熟 如与struts spring jbpm的集成 充分发挥Hibernate自身的优势 也吸取了对方框架的优势 在软件系统的各个层各司其职

  ( )产品线的逐渐完善 通过增加若干的工具套件 并支持 net平台 使Hibernate具有更强大的生命力

  ( )与EJB更好的集成 集成EJB 开始将重点转向重量级应用 使得Hibernate在企业级应用中必将占据一席之地

  Hibernate的轻量级 ORM 模型逐步确立了在Java ORM架构中领导地位 甚至取代复杂而又繁琐的EJB模型而成为事实上的Java ORM工业标准 而且其中的许多设计均被J EE 标准组织吸纳而成为最新EJB 规范的标准

cha138/Article/program/Java/ky/201311/29144

相关参考

知识大全 hibernate3二级缓存的配置及测试

配置ehcachexml文件放到classpath下 <?xmlversion=encoding=GBK?>     <e

知识大全 Hibernate3.1与Hibernate3.2

Hibernate3.1与Hibernate3.2  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 PHP 6预览 新增多项特性及改进

PHP6预览新增多项特性及改进  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PHP的下一个版本

知识大全 Eclipse3.1新特性及各插件详细介绍

Eclipse3.1新特性及各插件详细介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一新特

冬小麦新冬24号品种特性及栽培措施

冬小麦新冬24号是新疆农业科学院粮食作物研究所1991年以9245为母本、以冀6159为父本经杂交后系统选育而成。2003年,通过自治区品种审定委员会审定命名。2005年,引入米泉市古牧地镇试种。经过

冬小麦新冬24号品种特性及栽培措施

冬小麦新冬24号是新疆农业科学院粮食作物研究所1991年以9245为母本、以冀6159为父本经杂交后系统选育而成。2003年,通过自治区品种审定委员会审定命名。2005年,引入米泉市古牧地镇试种。经过

知识大全 Hibernate3的DetachedCriteria支持

Hibernate3的DetachedCriteria支持  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 Hibernate3.X 实践总结

Hibernate3.X实践总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernat

知识大全 Oracle9i新特性-索引监视及注意事项[修正版]

Oracle9i新特性-索引监视及注意事项[修正版]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Hibernate3的DetachedCriteria支持[1]

Hibernate3的DetachedCriteria支持[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起