淺析Hibernate對象關系映射
Hibernate有很多值得學習的地方,這里我們主要介紹Hibernate對象關系映射,包括介紹Hibernate源代碼的分析等方面。
同樣由于Hibernate官方文檔的影響,很多Hibernate開發(fā)者誤以為Hibernate對象關系映射一定要一個表對應一個對象,并將映射文件和對象文件放在同一目錄下。實際上,該模式是為規(guī)范性考慮而設計的,因為在多人參與的項目中,多人要維護同一文件容易產生沖突;當項目比較小時,配置文件的維護人員少,我們完全可以將。hbm.xml文件合并到一個或者幾個文件中。依據(jù)作者本人的項目設計開發(fā)經驗,***是項目中有幾人同時從事O/R映射和持久工作,則設定幾個。hbm.xml文件,每人維護一個。當然,為了便于分類和管理,每人的工作應該按邏輯劃分。
大型項目中的文件配置示例如下:
- <hibernate-configuration>
- <session-factory>
- <!—映射文件分散 -->
- <mapping resource="com/hongsoft/test/ persistence/Cat.hbm.xml"/>
- <mapping resource="com/hongsoft/test/ persistence/Animal.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
小型項目中的文件配置示例如下:
- <hibernate-configuration>
- <session-factory>
- <!—映射文件集中 -->
- <mapping resource="res_hibernate_map.xml"/>
- </session-factory>
- </hibernate-configuration>
要注意的是, 從對Hibernate源代碼的分析可知,指定Hibernate對象關系映射時,不能用絕對目錄,只能用相對目錄;而且,系統(tǒng)以classes根目錄為當前目錄。
【編輯推薦】