hibernate的緩存,

hibernate緩存包括一級緩存和二級緩存兩大類:

1、hibernate一級緩存又稱爲“session的緩存”,它是內置的,不能被卸載,由於session對象的生命週期通常對應一個數據庫事務或者一個應用事務,因此它的緩存是事務範圍的緩存。在第一級緩存中,持久化類的每個實例都具有唯一的oid。

2、hibernate二級緩存又稱爲“sessionFactory的緩存”,由於sessionFactory對象的生命週期和應用程序的整個過程對應,因此hibernate二級緩存是進程範圍或者集羣範圍的緩存,有可能出現併發問題,因此需要採用適當的併發訪問策略,該策略爲被緩存的數據提供了事務隔離級別。第二級緩存是可選的,是一個可配置的插件,在默認情況下,sesssionFactory不會啓用這個插件。

當hibernate根據ID訪問數據對象的時候,首先從session一級緩存中查找,如果查不到,如果配置了二級緩存,就會從二級緩存中查找,如果都查不到,那麼就會從數據庫中查詢,把結果按照ID放入到緩存中進行刪除、更新、增加數據的時候,同時更新緩存。

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