1. 程式人生 > >有關Hibernate優點和缺點的闡述

有關Hibernate優點和缺點的闡述


下面就Hibernate優缺點分別進行簡單的闡述。
1.Hibernate優點:
(1)物件/關係資料庫對映(Basic O/R Mapping)
它使用時只需要操縱物件,使開發更物件化,拋棄了資料庫中心的思想,完全的面向物件思想。
(2)透明持久化(Persistent)
帶有持久化狀態的、具有業務功能的單執行緒物件,此物件生存期很短。這些物件可能是普通的JavaBeans/POJO,這個物件沒有實現第三方框架或者介面,唯一特殊的是他們正與(僅僅一個)Session相關聯。一旦這個Session被關閉,這些物件就會脫離持久化狀態,這樣就可被應用程式的任何層自由使用。(例如,用作跟表示層打交道的資料傳輸物件。)           
(3)事務Transaction (org.Hibernate.Transaction)
應用程式用來指定原子操作單元範圍的物件,它是單執行緒的,生命週期很短。它通過抽象將應用從底層具體的JDBC、JTA以及CORBA事務隔離開。某些情況下,一個Session之內可能包含多個Transaction物件。儘管是否使用該物件是可選的,但無論是使用底層的API還是使用Transaction物件,事務邊界的開啟與關閉是必不可少的。
(4)它沒有侵入性,即所謂的輕量級框架。
(5)移植性會很好。
(6)快取機制。提供一級快取和二級快取。
(7)簡潔的HQL程式設計。
2.Hibernate缺點:


(1)Hibernate在批量資料處理的時候是有弱勢。
(2)針對某一物件(單個物件)簡單的查/改/刪/增,不是批量修改、刪除,適合用Hibernate;而對於批量修改、刪除,不適合用Hibernate,這也是OR框架的弱點;要使用資料庫的特定優化機制的時候,不適合用Hibernate。
以上便是我所熟悉的Hibernate的優缺點。