1. 程式人生 > >hibernate學習要點指引

hibernate學習要點指引

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

不懂技術的人或者技術新手往往容易被“框架”二字所唬住,所謂框架是前人對相關問題處理方案的總結,將對某類問題最有價值的解決方式彙集在一起,形成框架。其它人使用時,僅僅只需要按照框架締結者設定的規則以及呼叫的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操作的同時,對資料庫操作進行了預設的一些優化。而通過延遲載入與批量操作等相關引數設定,我們可以進一步對資料庫操作的效能進行優化。