Hibernate創(chuàng)始人Gavin King:冬眠的數(shù)據(jù)
原創(chuàng)【51CTO獨(dú)家特稿】Gavin King,Hibernate的創(chuàng)始人,EJB專家委員會(huì)成員,JBoss核心開發(fā)人員;目前,Gavin就職于RebHat,負(fù)責(zé)JBoss Hibernate和CMP引擎的開發(fā)。他的傳奇是,在開發(fā)Hibernate這個(gè)Java領(lǐng)域最流行的數(shù)據(jù)持久化框架之前只是一名普通Java程序員,那時(shí),他對SQL和數(shù)據(jù)庫一竅不通。
51CTO開發(fā)頻道年終巨獻(xiàn):架構(gòu)師最怕程序員知道的十件事
Gavin King開發(fā)Hibernate的主要?jiǎng)訖C(jī)是當(dāng)時(shí)的EJB CMP太過繁瑣。那是2001年,Gavin King就職于澳大利亞悉尼的一家J2EE軟件開發(fā)和咨詢公司Cirrus Technologies。
Gavin發(fā)現(xiàn)在當(dāng)時(shí)的項(xiàng)目開發(fā)中,他總要花很多時(shí)間處理Entity Bean的體系架構(gòu),這個(gè)工作步驟繁冗,結(jié)構(gòu)復(fù)雜;而真正的軟件核心業(yè)務(wù)邏輯卻很少有時(shí)間顧及。他計(jì)劃搞出一套比Entity Bean更好的方案,幫助所有J2EE的開發(fā)人員擺脫CMP的困擾。
Gavin King經(jīng)常進(jìn)行關(guān)于Hibernate的課程和演講
他首先將這個(gè)想法告訴了自己的老板,Gavin抱怨EJB Entity Bean 1.1的架構(gòu)復(fù)雜,CMP給自己過多的限制。而Cirrus的老板卻認(rèn)為EJB是這個(gè)行業(yè)的標(biāo)準(zhǔn),也是當(dāng)前最流行的技術(shù);他認(rèn)為,數(shù)學(xué)系畢業(yè)的Gavin還沒適應(yīng)EJB的開發(fā)模式,熟悉之后,這樣的抱怨會(huì)少很多。
但Gavin堅(jiān)持自己的想法,他希望可以開發(fā)出一套簡潔的對象關(guān)系映射解決方案;同時(shí),他也很清楚,自己從沒用SQL開發(fā)過任何東西,之前也很少接觸數(shù)據(jù)庫方面的東西。這看似是一個(gè)不可能完成的任務(wù)。但Gavin King堅(jiān)持這樣做。
#T#對于開發(fā)Hibernate,Gavin做的第一件事是去書店買了本SQL基礎(chǔ)的書。Cirrus的老板做夢也沒想到,兩年之后,Gavin真的開發(fā)出他說的那個(gè)東西,并快速成為全世界最流行的對象關(guān)系映射工具,成為當(dāng)時(shí)Java數(shù)據(jù)持久層的最佳解決方案。而那個(gè)對SQL和數(shù)據(jù)庫一竅不通的小伙子居然會(huì)成為全世界Java企業(yè)級(jí)數(shù)據(jù)庫解決方案的領(lǐng)導(dǎo)者。
這就是Gavin King,一個(gè)充滿激情、敢想敢做的人。
2003年,Gaving的Java對象關(guān)系映射框架Hibernate誕生了。這是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級(jí)的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Gavin King給這個(gè)框架一個(gè)形象的名字,Hibernate(冬眠);他對自己的框架有充分的自信,使用Hibernate,你的數(shù)據(jù)持久層會(huì)像冬眠一樣聽話。
2003年9月,Gavin King在他的網(wǎng)站上向全世界的Java開發(fā)者發(fā)起挑戰(zhàn):誰能用一段Java JDBC代碼開發(fā)的效率做到比Hibernate高,他將給予那個(gè)人100美元。這更像是一條高明的招聘啟示;幾個(gè)月后,Gavin King和幾個(gè)獲獎(jiǎng)?wù)呒尤肓薐Boss組織,專注于Hibernate的開發(fā)和服務(wù)。目前,Gavin King在RedHat負(fù)責(zé)JBoss Hibernate和機(jī)遇CMP引擎的新版Hibernate開發(fā)。
成名后的Gavin King夢想依舊。目前,作為EJB3.0專家委員會(huì)成員,Gavin King在進(jìn)行基于JSF/EJB 3的快速開發(fā)框架JBoss Seam的研發(fā);JBoss Seam同樣是一個(gè)目標(biāo)遠(yuǎn)大的框架,Gavin試圖將JBoss Seam打造成一種基于JSF+EJB的快速開發(fā)框架,是和ROR與JF類似的框架。
基于對Hibernate的好感,讓我們對JBoss Seam拭目以待。