Hibernate是一種強大的可提供對象-關系持久化和查詢服務的中間件,它可以使程序員依據面向對象的原理開發持久化類,實現對象之間的關聯、繼承、多態、組合、集合等。
Hibernate提供了它特有的數據庫查詢語言HQL,這種查詢語言屏蔽了不同數據庫之間的差別,使你可以編寫統一的查詢語句執行查詢。不同于其他持久化解決方案的是Hibernate并沒有把SQL的強大功能屏蔽掉,而是仍然兼容SQL,這使你以往的關系技術依然有效。
一、Hibernate的版本更新情況
Hibernate版本更新速度很快,目前為止有兩個階段性的版本:Hibernate2和Hibernate3,這一點程序員從其Jar文件名便可以看出來。至本文寫成之日最新發布的版本是Hibernate3.4。
Hibernate2系列的最高版本是Hibernate2.1.8,Hibernate3系列在編寫本書時的最高版本是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作了詳盡的解答,推薦讀者閱讀。
二、Hibernate3的新特性
Hibernate3在產品的應用性上有了極大提高,并且基于Java1.5進行了改進,且與EJB3.0進行了集成,在功能上有了很大的提升。同時,Hibernate還對當今另一主流開發平臺--微軟的.NET平臺進行了支持,因此具有更加強大的生命力。
相對于Hibernate2,Hibernate3版本的變化包括三個方面:
(1)API的變化
API的變化中比較重大的變化是包名的變化,主要是包的根路徑發生了改變,這一點程序員只需要在Eclipse中查看Hibernate3.jar這個文件中所包含的類就知道了:Hibernate
3的根路徑從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接口,用于更好的重用用戶自定義的類型。
文章來源于領測軟件測試網 http://www.kjueaiud.com/