Hibernate的快取包括Session的快取和SessionFactory的快取,其中SessionFactory的快取又可以分為兩類:內建快取和外接快取。Session的快取是內建的,不能被解除安裝,也被稱為Hibernate的第一級快取。SessionFactory的內建快取和Session的快取在實現方式上比較相似,前者是SessionFactory物件的一些集合屬性包含的資料,後者是指Session的一些集合屬性包含的資料。SessionFactory的內建快取中存放了對映元資料和預定義SQL語句,對映元資料是對映檔案中資料的複製,而預定義SQL語句是在Hibernate初始化階段根據對映元資料推匯出來,SessionFactory的內建快取是隻讀的,應用程式不能修改快取中的對映元資料和預定義SQL語句,因此SessionFactory不需要進行內建快取與對映檔案的同步。SessionFactory的外接快取是一個可配置的外掛。在預設情況下,SessionFactory不會啟用這個外掛。外接快取的資料是資料庫資料的複製,外接快取的介質可以是記憶體或者硬碟。SessionFactory的外接快取也被稱為Hibernate的第二級快取。
Hibernate的快取包括Session的快取和SessionFactory的快取,其中SessionFactory的快取又可以分為兩類:內建快取和外接快取。Session的快取是內建的,不能被解除安裝,也被稱為Hibernate的第一級快取。SessionFactory的內建快取和Session的快取在實現方式上比較相似,前者是SessionFactory物件的一些集合屬性包含的資料,後者是指Session的一些集合屬性包含的資料。SessionFactory的內建快取中存放了對映元資料和預定義SQL語句,對映元資料是對映檔案中資料的複製,而預定義SQL語句是在Hibernate初始化階段根據對映元資料推匯出來,SessionFactory的內建快取是隻讀的,應用程式不能修改快取中的對映元資料和預定義SQL語句,因此SessionFactory不需要進行內建快取與對映檔案的同步。SessionFactory的外接快取是一個可配置的外掛。在預設情況下,SessionFactory不會啟用這個外掛。外接快取的資料是資料庫資料的複製,外接快取的介質可以是記憶體或者硬碟。SessionFactory的外接快取也被稱為Hibernate的第二級快取。