、Hibernate版本更新情况
Hibernate版本更新速度很快目前为止有两个阶段性版本:Hibernate2和Hibernate3这点员从其Jar文件名便可以看出来至本文写成的日最新发布版本是Hibernate3.4
Hibernate2系列最高版本是Hibernate2.1.8Hibernate3系列在编写本书时最高版本是Hibernate 3.2.5 GA版GA也就是General Availability即推荐广泛使用版本但目前使用较多且较稳定版本是Hibernate 3.1.3或Hibernat 3.1.2
另外自Hibernate3发布以来其产品线愈加成熟相继出现了Hibernate注释、Hibernate实体管理器、Hibernate插件工具等系列产品套件在方便员使用Hibernate进行应用开发同时也逐渐增强了Hibernate产品线实力
但目前市面上用于学习Hibernate开发图书并不多见大多是介绍老版Hibernate2最近希赛和博文联手推出贯通Hibernate开发对最新Hibernate3作了详尽解答推荐读者阅读
2、Hibernate3新特性
Hibernate3在产品应用性上有了极大提高并且基于Java1.5进行了改进且和EJB3.0进行了集成在功能上有了很大提升同时Hibernate还对当今另主流开发平台--微软.NET平台进行了支持因此具有更加强大生命力
相对于Hibernate2Hibernate3版本变化包括 3个方面:
(1)API变化
API变化中比较重大变化是包名变化主要是包根路径发生了改变这点员只需要在Eclipse中查看Hibernate3.jar这个文件中所包含类就知道了:Hibernate 3根路径从Hibernate2net.sf.hibernate变成了org.hibernate由于这两个路径完全区别所以员能够在同个应用中同时使用Hibernate2和Hibernate3如果希望把已有应用升级到Hibernate3那么升级第步是把Java源中所有net.sf.hibernate替换为org.hibernate
另外在Hibernate3中HibernateException异常以及它所有子类都继承了Java.lang.RuntimeException因此在编译时编译器不会再检查HibernateException在Hibernate3中Session接口createSQLQuery思路方法被废弃被移到org.hibernate.ic.Session接口中Hibernate3采用新SQLQuery接口来完成相同功能在UserType和CompositeUserType接口中也都加入了些新思路方法这两个接口被移到org.hibernate.usertype包中用户定义UserType和CompositeUserType实现类必须实现这些新思路方法Hibernate3提供了ParameterizedType接口用于更好重用用户自定义类型
以上这些主要变化将会影响到应用员必须要进行相应调整才能使基于Hibernate3应用正常运行
(2)元数据
元数据主要是指Hibernate映射文件中各种元素和属性使用方法变化首当其冲是Hibernate映射文件文档类型定义即DTD文件发生了变化这点员可以从任何个Hibernate3映射文件文件头中发现即在元素中定义URL从http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd变成了http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
还有个重大改变就是lazy属性默认值从false变成了true这也是Hibernate从优化应用性能角度出发所做出决定当lazy=false时Hibernate对所有字段都采取预先抓取策略如果员希望采用延迟加载必须手工在映射文件中将lazy属性值设为true然而总是采用预先抓取策略势必会造成极大资源占用从而降低应用性能所以从应用角度来讲更希望lazy默认值是true这样在有需要时候才去采用预先抓取检索策略
(3)HQL查询语句
Hibernate3 采用新基于ANTLRHQL/SQL查询翻译器不过Hibernate2查询翻译器也依然存在在Hibernate配置文件中hibernate.query.factory_属性用来选择查询翻译器
3、Hibernate发展趋势
Hibernate是个非常优秀持久层解决方案具有以下发展趋势:
(1)和其他开发框架集成将越来越成熟:如和struts、spring、jbpm集成充分发挥Hibernate自身优势也吸取了对方框架优势在软件Software系统各个层各司其职
(2)产品线逐渐完善:通过增加若干工具套件并支持.net平台使Hibernate具有更强大生命力
(3)和EJB更好集成:集成EJB开始将重点转向重量级应用使得Hibernate在企业级应用中必将占据席的地
Hibernate轻量级 ORM 模型逐步确立了在Java ORM架构中领导地位甚至取代复杂而又繁琐EJB模型而成为事实上Java ORM工业标准而且其中许多设计均被J2EE 标准组织吸纳而成为最新EJB3.0规范标准标准
随着Hibernate广泛应用越来越多Java中间件厂商和Java项目(如JBoss、JBPM等)开始把目光集中到Hibernate上并将其纳入自身体系使Hibernate具有了越来越广阔发展前景
最新评论