詳細講解Hibernate是什么
Hibernate還是比較常用的,于是我研究了一下Hibernate是什么?在這里拿出來和大家分享一下,希望對大家有用。
Hibernate是什么?從不同角度的解釋:
1、它是連接 Java 應(yīng)用程序和關(guān)系數(shù)據(jù)庫的中間件。
2、它對 JDBC API 進行了封裝,負責(zé)Java對象的持久化。
3、在分層的軟件架構(gòu)中它位于持久化層,封裝了所有數(shù)據(jù)訪問細節(jié),使業(yè)務(wù)羅基層可以專注于實現(xiàn)業(yè)務(wù)邏輯。
4、它是一種 ORM(Object-Relation Mapping 對象-關(guān)系映射)工具,能夠建立面向?qū)ο蟮挠蚰P秃完P(guān)系模型的映射。
應(yīng)用程序分層體系結(jié)構(gòu):
1、表述層:提供與用戶交互的界面。
2、業(yè)務(wù)邏輯層:實現(xiàn)各種業(yè)務(wù)邏輯。
3、數(shù)據(jù)層:負責(zé)存放和管理應(yīng)用的持久性業(yè)務(wù)。
軟件分層包含兩種含義:
◆一種是物理分層,即每一層都運行在單獨的機器上,這意味著創(chuàng)建分布式的軟件系統(tǒng);
◆一種是邏輯分層,指的是在單個軟件模塊中完成特定的功能。
軟件分層必須符合以下特征:
1、每個層由一組相關(guān)的類或組件構(gòu)成,共同完成特定的功能。
2、層與層之間存在自上而下的依賴關(guān)系,即上層組件會訪問下層組件的 API,而下層組件不應(yīng)該依賴上層組件。
3、每個層對上層公開 API,但具體的實現(xiàn)細節(jié)對外透明。
軟件分層的優(yōu)點:
適當(dāng)?shù)姆謱樱瑢岣哕浖囊韵滦阅堋?BR>1、伸縮性:指應(yīng)用程序是否支持更多的用戶。例如數(shù)據(jù)庫連接。
2、可維護性:當(dāng)發(fā)生需求變化,只需修改軟件的某一部分,不會影響其他部分的代碼。
3、可擴展性:在現(xiàn)有系統(tǒng)中增加新功能的難易程度。
4、可重用性:程序代碼沒有冗余,同一個程序能滿足多種需求。
5、可管理性:管理系統(tǒng)的難易程度。
缺點:
1、分層越多對軟件設(shè)計人員的要求越高。
2、分層越多調(diào)試越困難。
表通過主建來保證每條記錄的***性,表的主鍵應(yīng)當(dāng)不具有任何業(yè)務(wù)含義,因為任何有業(yè)務(wù)含義的列都有改變的可能性。關(guān)系數(shù)據(jù)庫學(xué)的最重要的一個理論就是:不要給關(guān)鍵字賦予任何業(yè)務(wù)意義。
在域模型中,類之間存在四種關(guān)系:
1、關(guān)聯(lián):類之間的應(yīng)用關(guān)系。如果類A與類B關(guān)聯(lián),那么被引用的類B將被定義為類A的屬性。關(guān)聯(lián)還可以分為單項關(guān)聯(lián)和雙向關(guān)聯(lián)。
2、依賴:類之間的訪問關(guān)系。如果類A訪問類B的屬性或方法,或者類A負責(zé)實例化類B,那么可以說類A依賴類B.
3、聚集:整體與部分之間的關(guān)系。
4、繼承
以上介紹Hibernate是什么。
【編輯推薦】

















