Skip to main content

Hibernate 學習筆記 - Mozilla Firefox

Popularity Report

Total Popularity Score: 0

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Rank

URL Tag Cloud

Bookmark History

Saved by 1 people (0 private), first by anonymouse user on 2007-08-12


Public Sticky notes

快取(Cache)是資料庫在記憶體中的臨時容器,從資料庫中讀取的資料在快取中會有一份臨時拷貝,當您查詢某個數據時,會先在快取中尋找是否有相對應的 拷貝,如果有的話就直接返回資料,而無需連接資料庫進行查詢,只有在快取中找不到資料時,才從資料庫中查詢資料,藉由快取,可以提昇應用程式讀取資料時的 效能。

Highlighted by colinwong

在Hibernate中快取分作兩個層級:Session level與SessionFactory level(又稱Second level快取)。

Highlighted by colinwong

Session會維護一個Map容器,並保留與目前Session發生關係的資料,當您透過主鍵來載入資料時,Session會先依據所要載入的類別與所 給定的主鍵,看看Map中是否已有資料,如果有的話就返回,若沒有就對資料庫進行查詢,並在載入資料後在Map中維護

Highlighted by colinwong

可以透過evict()將某個物件從快取中移去

Highlighted by colinwong

也可以使用clear()清除快取中的所有物件

Highlighted by colinwong

Session level的快取隨著Session建立與銷毀

Highlighted by colinwong


您也可以使用Session的setReadOnly(object, true),設定某物件為唯讀,對於唯讀資料,不會在快取中維護一個複本,不會執行dirty check

Highlighted by colinwong

Readers (1)