|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点Hibernate是一种壮大的可供应对象-干系耐久化和查询服务的两头件,它可使程序员根据面向对象的道理开辟耐久化类,完成对象之间的联系关系、承继、多态、组合、汇合等。
Hibernate供应了它独有的数据库查询言语HQL,这类查询言语屏障了分歧数据库之间的不同,使你能够编写一致的查询语句实行查询。分歧于其他耐久化办理计划的是Hibernate并没有把SQL的壮大功效屏障失落,而是仍旧兼容SQL,这使你以往的干系手艺仍然无效。
1、Hibernate的版本更新情形
Hibernate版本更新速率很快,今朝为止有两个阶段性的版本:Hibernate2和Hibernate3,这一点程序员从其Jar文件名即可以看出来。至本文写成之日最新公布的版本是Hibernate3.4。
Hibernate2系列的最高版本是Hibernate2.1.8,Hibernate3系列在编写本书时的最高版本是Hibernate3.2.5GA版,GA也就是GeneralAvailability,即保举普遍利用的版本,但今朝利用较多且较不乱的版本是Hibernate3.1.3或Hibernat3.1.2。
别的,自Hibernate3公布以来,其产物线越发成熟,接踵呈现了Hibernate正文、Hibernate实体办理器、Hibernate插件工具等一系列产物套件。在便利程序员利用Hibernate举行使用程序的开辟的同时,也渐渐加强了Hibernate产物线的气力。
但今朝市情上用于进修Hibernate开辟的图书其实不多见,年夜多是先容老版的Hibernate2,比来希赛和博文联手推出的《贯穿Hibernate开辟》,对最新的Hibernate3作了细致的解答,保举读者浏览。
2、Hibernate3的新特征
Hibernate3在产物的使用性上有了极年夜进步,而且基于Java1.5举行了改善,且与EJB3.0举行了集成,在功效上有了很年夜的提拔。同时,Hibernate还对现今另外一支流开辟平台--微软的.NET平台举行了撑持,因而具有加倍壮大的性命力。
相对Hibernate2,Hibernate3版本的变更包含三个方面:
(1)API的变更
API的变更中对照严重的变更是包名的变更,次要是包的根路径产生了改动,这一点程序员只必要在Eclipse中检察Hibernate3.jar这个文件中所包括的类就晓得了:Hibernate3的根路径从Hibernate2的net.sf.hibernate酿成了org.hibernate。因为这两个路径完整分歧,以是程序员可以在统一个使用程序中同时利用Hibernate2和Hibernate3。假如但愿把已有的使用晋级到Hibernate3,那末晋级的第一步是把Java源程序中的一切net.sf.hibernate交换为org.hibernate。
别的,在Hibernate3中,HibernateException非常和它的一切子类都承继了Java.lang.RuntimeException。因而在编译时,编译器不会再反省HibernateException。在Hibernate3中,Session接口的createSQLQuery()办法被放弃,被移到org.hibernate.classic.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接纳新的基于ANTLR的HQL/SQL查询翻译器,不外,Hibernate2的查询翻译器也仍然存在。在Hibernate的设置文件中,hibernate.query.factory_class属性用来选择查询翻译器。
3、Hibernate的开展趋向
Hibernate是一个十分优异的耐久层办理计划。具有以下开展趋向:
(1)与其他开辟框架的集成将愈来愈成熟:如与struts、spring、jbpm的集成,充实发扬Hibernate本身的上风,也吸收了对方框架的上风,在软件体系的各个层各司其职。
(2)产物线的渐渐完美:经由过程增添多少的工具套件,并撑持.net平台,使Hibernate具有更壮大的性命力。
(3)与EJB更好的集成:集成EJB,入手下手将重点转向分量级使用,使得Hibernate在企业级使用中势必占有一席之地。
Hibernate的轻量级ORM模子慢慢建立了在JavaORM架构中向导位置,乃至代替庞大而又烦琐的EJB模子而成为现实上的JavaORM产业尺度。并且个中的很多计划均被J2EE尺度构造吸纳而成为最新EJB3.0标准的尺度。
跟着Hibernate的普遍使用,愈来愈多的Java两头件厂商和Java项目(如JBoss、JBPM等)入手下手把眼光会合到Hibernate上并将其归入本身的系统,使Hibernate具有了愈来愈宽广的开展远景。
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架? |
|