我們剛剛開始使用Hibernate,並且仍在習慣它的工作方式。如何在會話關閉後強制hibernate釋放內存?
我們已經看到的事情是,即使在所有會話關閉並且引用已經超出範圍之後,hibernate仍然似乎將之前使用的數據庫值保留在其緩存中。
我們有從多組表中讀取多次的代碼。因爲所有的內存都非常節制地釋放,所以後來傳遞的速度變慢了。
有什麼辦法強制Hibernate清除它的緩存嗎?
對System.gc()的顯式調用沒有幫助。 (是的,我知道這是一個建議)
附加信息:我們明確地禁用了二級緩存。
我假設你不使用Hibernate的二級緩存呢?您使用什麼策略進行會話管理? 「會話每線程」? – 2009-05-29 22:14:57
我們使用的是session-per-thread,並且我們已經明確地禁用了二級緩存 – StudioEvoque 2009-05-30 18:31:57