hibernate學習要點指引

最近幾天,團隊有幾個人在blog上開始貼自己學習hibernate的一些代碼和心得了。昨天幫他們調試代碼的時候,纔對他們最近的學習過程有一個瞭解。回想兩年多前,自己開始hibernate學習的過程,貼點東西在這裏。

hibernate是O/RM框架,ORM簡單的說就是對象關係映射,用於處理對象與表的對應關係的。更多關於O/RM的基本概念,請見:http://www.cnblogs.com/idior/archive/2005/07/04/186086.html

不懂技術的人或者技術新手往往容易被“框架”二字所唬住,所謂框架是前人對相關問題處理方案的總結,將對某類問題最有價值的解決方式彙集在一起,形成框架。其它人使用時,僅僅只需要按照框架締結者設定的規則以及調用的API,來完成對框架的使用。

學習hibernate,學習的主要是hibernate的使用規則,理解這個框架的思想。

1、Configuration、SessionFactory、Session三個類一個都不能少,通通都需要了解。所謂瞭解,其實是誇大了,不少人僅僅只是使用這三個類最簡單的創建過程代碼,但這已經足夠應付絕大多數場景了。無論你使用的時hibernate.properties,還是hibernate.cfg.xml,抑或者你自定義了一個配置文件,確保自己配置的正確性。

2、必須學習hbm.xml文件的編寫規則。新手可以依靠一些自動生成工具來完成對hbm.xml以及java文件的生成,但上手便這樣,不利於學習。工具雖然方便,但是掩蓋了生成時所應該知道的基本原理。

3、hibernate的三種查詢方式:HQL、Criteria、Native SQL。每種技術有其應用的優勢場景,技術不分優劣,只有最適合當前場景使用的。HQL是使用最頻繁的,Criteria是完全OO的,當你需要使用特定數據庫的特性時,Native SQL是首選。

4、關聯關係。數據庫中的多表關聯本是平常事,但這個問題又恰恰是最容易讓人暈頭轉向的地方。hibernate處理關聯關係的精髓內容在hbm.xml中,學習時(1)注意關聯行爲的主被動方(2)弄清關聯的對象所依據的字段。

5、優化。Hibernate在封裝現有JDBC操作的同時,對數據庫操作進行了默認的一些優化。而通過延遲加載與批量操作等相關參數設置,我們可以進一步對數據庫操作的性能進行優化。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章