仓酷云 发表于 2015-1-18 11:34:19

JAVA教程之开源框架Hibernate3的新特征和开展趋向仓酷云

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++来搞个这种框架?

若相依 发表于 2015-1-21 10:20:19

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

透明 发表于 2015-1-22 20:09:31

是一种语言,用以产生「小应用程序(Applet(s))

活着的死人 发表于 2015-1-31 10:51:50

是一种将安全性(Security)列为第一优先考虑的语言

蒙在股里 发表于 2015-1-31 21:51:21

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

第二个灵魂 发表于 2015-2-6 04:19:41

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

冷月葬花魂 发表于 2015-2-11 07:02:38

是一种使用者不需花费很多时间学习的语言

小女巫 发表于 2015-2-20 14:29:13

是一种将安全性(Security)列为第一优先考虑的语言

老尸 发表于 2015-3-6 18:25:21

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

深爱那片海 发表于 2015-3-13 05:09:28

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

金色的骷髅 发表于 2015-3-15 13:43:10

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

莫相离 发表于 2015-3-17 23:11:27

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

再现理想 发表于 2015-3-25 06:34:01

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

海妖 发表于 2015-4-1 17:11:18

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

柔情似水 发表于 2015-4-18 15:17:30

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

山那边是海 发表于 2015-4-20 09:30:05

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

变相怪杰 发表于 2015-5-7 06:38:16

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

只想知道 发表于 2015-5-8 16:59:50

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

不帅 发表于 2015-6-6 07:18:24

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

分手快乐 发表于 2015-6-23 03:41:19

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
页: [1]
查看完整版本: JAVA教程之开源框架Hibernate3的新特征和开展趋向仓酷云