簡(jiǎn)述Hibernate Synchronizer學(xué)習(xí)筆記
最近我開始使用Eclipse作為我的開發(fā)環(huán)境,部分原因是因?yàn)樵谖疫M(jìn)行開發(fā)的許多平臺(tái)上都可以使用Eclipse來(lái)工作,還有部分原因是因?yàn)?Eclipse是展示人人皆可作出貢獻(xiàn)的開放、可擴(kuò)展環(huán)境的優(yōu)勢(shì)的一個(gè)極好的例子。我開始研究其他人提供的對(duì)Eclipse的擴(kuò)展。例如,當(dāng)用到xml文件時(shí),我使用XMLBuddy插件。該插件對(duì)于我的工作很有助益。因?yàn)樽罱恢痹趯慏eveloper's Notebook,所以我很想知道是不是已經(jīng)有人寫了關(guān)于Hibernate的插件,事實(shí)上,有好幾個(gè)這樣的插件正在開發(fā)。在這篇文章中,我們將探索其中之一:Hibernate Synchronizer.
Hibernate Synchronizer
在我找的和Hibernate有關(guān)的插件中,Hibernate Synchronizer最令我感興趣,因?yàn)樗鼮槲以贒eveloper's Notebook書中采用的以映射為中心的工作流(mapping-centric workflow)提供了***的支持。(可以用多種方法使用Hibernate,你可能會(huì)試試其它一些插件,它們提供的方法可能正是你自己特定環(huán)境所要求的)。事實(shí)上,當(dāng)使用Hibernate Synchronizer時(shí),如果你改變了映射文件,你不需要為更新相應(yīng)的java文件而勞心費(fèi)神。當(dāng)你編輯映射文件時(shí),和Eclipse采取的方法類似,該插件自動(dòng)更新你的java代碼。
還不止于此,還提供了比Hibernate內(nèi)建的代碼生成工具更多的功能:它為每個(gè)映射對(duì)象創(chuàng)建一對(duì)類( a pair of classes),其中一個(gè)是基礎(chǔ)類,當(dāng)你改變映射內(nèi)容時(shí),它可以隨意重寫這個(gè)類;另一個(gè)類作為該基礎(chǔ)類的子類,在子類中,你可以添加具體的商業(yè)邏輯和另一些代碼。使用這個(gè)插件生成java代碼時(shí),不用象使用Hibernate內(nèi)置的代碼生成工具那樣,擔(dān)心其它代碼(如商業(yè)邏輯的代碼)會(huì)在你的眼皮底下消失。
對(duì)于以Hibernate影射文檔為基礎(chǔ)的方法,還有一些其它的好處,Hibernate Synchronizer有一個(gè)新編輯器,當(dāng)編輯這類文件時(shí),為Eclipse添加了智能輔助和自動(dòng)完成功能。一個(gè)比較好的、以DTD驅(qū)動(dòng)的XML編輯器,如以前提及的XMLBuddy,也可以完成部分功能。
與此相比,Hibernate Synchronizer利用對(duì)影射文檔語(yǔ)義的了解,提供了更進(jìn)一步的功能。例如,提供了對(duì)屬性和影射關(guān)系的可視化顯示,創(chuàng)建新元素的向?qū)Ы缑?,象以上提及的一樣,缺省設(shè)置情況下,當(dāng)你編輯影射文檔時(shí),編輯器會(huì)自動(dòng)生成數(shù)據(jù)訪問(wèn)類(data-access class).
當(dāng)然還有其它一些功能,在Eclipse的新建(New)菜單中,提供了一個(gè)向?qū)В梢杂脕?lái)創(chuàng)建Hibernate配置文件和映射文件,在包資源瀏覽器(package explorer)和其它一些合適的地方增加了上下文菜單,方便調(diào)用和Hibernate相關(guān)的功能。
【編輯推薦】