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