日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Hibernate的優(yōu)點

一、Hibernate是JDBC的輕量級的對象封裝,它是

西安網(wǎng)站建設公司創(chuàng)新互聯(lián),西安網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為西安成百上千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的西安做網(wǎng)站的公司定做!

一個獨立的對象持久層框架,和App Server,和

EJB沒有什么必然的聯(lián)系。Hibernate可以用在任何

JDBC可以使用的場合,例如Java應用程序的數(shù)據(jù)

庫訪問代碼,DAO接口的實現(xiàn)類,甚至可以是BMP

里面的訪問數(shù)據(jù)庫的代碼。從這個意義上來說,

Hibernate和EB不是一個范疇的東西,也不存在非

此即彼的關系。

二、Hibernate是一個和JDBC密切關聯(lián)的框架,所

以Hibernate的兼容性和JDBC驅動,和數(shù)據(jù)庫都有

一定的關系,但是和使用它的Java程序,和App

Server沒有任何關系,也不存在兼容性問題。

三、Hibernate不能用來直接和Entity Bean做對比

,只有放在整個J2EE項目的框架中才能比較。并且

即使是放在軟件整體框架中來看,Hibernate也是

做為JDBC的替代者出現(xiàn)的,而不是Entity Bean的

替代者出現(xiàn)的,讓我再列一次我已經(jīng)列n次的框架結

構:

傳統(tǒng)的架構:
1) Session Bean <-> Entity Bean <-> DB
為了解決性能障礙的替代架構:
2) Session Bean <-> DAO <-> JDBC <-> DB
使用Hibernate來提高上面架構的開發(fā)效率的架構


3) Session Bean <-> DAO <-> Hibernate <-> DB

就上面3個架構來分析:
1、內(nèi)存消耗:采用JDBC的架構2無疑是最省內(nèi)存的

,Hibernate的架構3次之,EB的架構1最差。

2、運行效率:如果JDBC的代碼寫的非常優(yōu)化,那

么JDBC架構運行效率最高,但是實際項目中,這一

點幾乎做不到,這需要程序員非常精通JDBC,運用

Batch語句,調(diào)整PreapredStatement的Batch

Size和Fetch Size等參數(shù),以及在必要的情況下采用

結果集cache等等。而一般情況下程序員是做不到

這一點的。因此Hibernate架構表現(xiàn)出最快的運行

效率。EB的架構效率會差的很遠。

3、開發(fā)效率:在有JBuilder的支持下以及簡單的項

目,EB架構開發(fā)效率最高,JDBC次之,Hibernate

最差。但是在大的項目,特別是持久層關系映射很

復雜的情況下,Hibernate效率高的驚人,JDBC次

之,而EB架構很可能會失敗。

4、分布式,安全檢查,集群,負載均衡的支持
由于有SB做為Facade,3個架構沒有區(qū)別。

四、EB和Hibernate學習難度在哪里?

EB的難度在哪里?不在復雜的XML配置文件上,而

在于EB運用稍微不慎,就有嚴重的性能障礙。所以

難在你需要學習很多EJB設計模式來避開性能問題,

需要學習App Server和EB的配置來優(yōu)化EB的運行效

率。做EB的開發(fā)工作,程序員的大部分精力都被放

到了EB的性能問題上了,反而沒有更多的精力關注

本身就主要投入精力去考慮的對象持久層的設計上

來。

Hibernate難在哪里?不在Hibernate本身的復雜,

實際上Hibernate非常的簡單,難在Hibernate太靈

活了。

當你用EB來實現(xiàn)持久層的時候,你會發(fā)現(xiàn)EB實在是

太笨拙了,笨拙到你根本沒有什么可以選擇的余地

,所以你根本就不用花費精力去設計方案,去平衡

方案的好壞,去費腦筋考慮選擇哪個方案,因為只

有唯一的方案擺在你面前,你只能這么做,沒得選

擇。

Hibernate相反,它太靈活了,相同的問題,你至

少可以設計出十幾種方案來解決,所以特別的犯難

,究竟用這個,還是用那個呢?這些方案之間到底

有什么區(qū)別呢?他們的運行原理有什么不同?運行

效率哪個比較好?光是主鍵生成,就有七八種方案

供你選擇,你為難不為難?集合屬性可以用Set,可

以用List,還可以用Bag,到底哪個效率高,你為難

不為難?查詢可以用iterator,可以用list,哪個好,

有什么區(qū)別?你為難不為難?復合主鍵你可以直接

在hbm里面配置,也可以自定義CustomerType,

哪種比較好些?你為難不為難?對于一個表,你可

以選擇單一映射一個對象,也可以映射成父子對象

,還可以映射成兩個1:1的對象,在什么情況下用哪

種方案比較好,你為難不為難?

這個列表可以一直開列下去,直到你不想再看下去

為止。當你面前擺著無數(shù)的眼花繚亂的方案的時候

,你會覺得幸福呢?還是悲哀呢?如果你是一個負

責的程序員,那么你一定會仔細研究每種方案的區(qū)

別,每種方案的效率,每種方案的適用場合,你會

覺得你已經(jīng)陷入進去拔不出來了。如果是用EB,你

第一秒種就已經(jīng)做出了決定,根本沒得選擇,比如

說集合屬性,你只能用Collection,如果是

Hibernate,你會在Bag,List和Set之間來回猶豫不

決,甚至搞不清楚的話,程序都沒有辦法寫。

[@more@]
分享題目:Hibernate的優(yōu)點
文章源于:http://www.dlmjj.cn/article/jhhipe.html