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