Hibernate知識點總結

周江霄發表於2015-06-29

    Hibernate的學習在整個SSH的學習過程中算是持續時間最長的,因為裡面涉及到的東西比較多一些,這篇博文就簡單介紹一下小編自己對Hibernate的初步總結。

    

    一、導圖展示

                                                                                                       

    

    二、導圖分析

    

    Hibernate定義:Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。

    小編理解的Hibernate大體上分為三個部分:一是關於xml部分的配置,二是Hibernate相關的api,最後一個是具體的增刪改查操作。


    1.關於xml的配置


    hibernate中涉及的xml主要有兩部分:


    ①描述類與表中的關係對映配置檔案   xxx.hbm.xml

    主要描述了實體類與資料庫中表中的對映關係,我把裡面的關係主要分為兩部分,一部分是關於類級別的,主要描述的是自身的屬性和資料表中欄位的對應關係;另一部分是對級聯關係的描述,比如一對一、一對多、多對對等實體與實體之間聯絡的描述,配置好之後,資料庫會根據配置的級聯關係生成對應的外來鍵約束。


    ②描述連線資料庫的配置檔案         hibernate.cfg.xml

    這一部分主要記錄了連線資料庫的必要資訊,比如資料庫驅動、資料庫名稱、使用者名稱和密碼,以及Hibernate訪問不同資料庫需要的方言配置,還有一部分就是對xxx.hbm.xml檔案的引入。它是hibernate的核心配置檔案。

     

    2.Hibernate API

  

    應用程式可以直接通過Hibernate API訪問資料庫。Hibernate API中的介面可分為以下幾類。

    ①提供訪問資料庫的操作(如儲存、更新、刪除和查詢物件)的介面。這些介面包括:Session、Transaction和Query介面。

    ②用於配置Hibernate的介面:Configuration,配置Hibernate,啟動Hibernate,建立SessionFactory物件;

      初始化Hibernate的介面:SessionFactory,初始化Hibernate,當資料儲存源的代理,建立Session物件。

    ③回撥介面,使應用程式接受Hibernate內部發生的事件,並作出相應的迴應。這些介面包括:Interceptor、Lifecycle和Validatable介面。

    ④用於擴充套件Hibernate的功能的介面,如UserType、CompositeUserType和IdentifierGenerator介面。如果需要的話,應用程式可以擴充套件這些介面。

    Hibernate內部封裝了JDBC、JTA(JavaTransaction API)和JNDI(Java Naming and Directory Interface)。JDBC提供底層的資料訪問操作,只要使用者提供了相應的JDBC驅動程式,Hibernate可以訪問任何一個資料庫系統。JNDI和JTA使Hibernate能夠和J2EE應用伺服器整合。

    

    3.物件操作


    Hibernate實現物件的增刪改查操作依賴於Hibernate API函式,從而運算元據庫實現。這塊我也分成了兩部分,一部分是對類自身的的增刪改查操作,另一部分是和其他類相關聯的增刪該查操作。但是使用Hibernate提供的封裝完成對物件的操作,效能較低,可以通過在類與表中的關係對映配置檔案中修改引數的方式,提高Hibernate的操作效能。   

    

    以上就是自己對Hibenate初步的學習總結,歡迎交流學習。