2014-07-02 53 views
0

我有一個表:Spring MVC的 - 參照數據處理從數據庫

municipality_code | municipality_name 
M01    | bogo 
M02    | balamban 
M03    | boljoon 

目前,我有一個調用返回所有城市的地圖信息庫方法的服務方法。然後該服務在所有控制器中被調用。這意味着,每次調用服務時,都會從數據庫中查詢市鎮。我正在閱讀http://springtips.blogspot.com/2008/09/lazy-loading-vs-pre-loading-beans-with.html,我在正確的方向嗎?

實現此目的的最佳方法是什麼? 如果城市只被詢問一次,會更好嗎?預裝?

+2

實際上你的問題是什麼? – OllesEtta

+0

我的歉意。我剛剛編輯了我的問題。 – googone11

+0

如果城市只被詢問一次,會更好嗎?預裝? – googone11

回答

0

延遲加載與預加載似乎解決了與您報告的問題略有不同的問題:當您檢索實體並通過某些getter方法檢索其子代時,它可以防止多行選擇。 (延遲加載會首先爲父實體發出查詢,然後爲每個正在檢索的子進行查詢,而預加載使得Hibernate可以發出單個查詢以一次檢索所有相關的孩子。)

您需要一遍又一遍地檢索相同的實體,並希望防止被查詢的次數超過必要次數(可能不止一次)。這是一種緩存機制。 Hibernate支持不同級別和不同策略的緩存。谷歌搜索"hibernate caching"會給你一個好的開始。

+0

謝謝。我正在閱讀更多關於「緩存」的內容。 – googone11