1. Hibernate二級緩存的配置參數以下:
- hibernate.cache.use_second_level_cache,是否開啓二級緩存
默認爲true
- hibernate.cache.use_query_cache,是否開啓查詢緩存
默認爲false
- hibernate.cache.query_cache_factory
處理查詢結果的實現類
org.hibernate.cache.spi.QueryCacheFactory接口的實現類
- hibernate.cache.region_prefix,爲二級緩存定義前綴名
- hibernate.cache.default_cache_concurrency_strategy,二級緩存的全局併發策略
- read-only
- read-write
- nonstrict-read-write
- transactional
後續文章還有詳述。
- hibernate.cache.use_minimal_puts,優化對緩存的操做,儘可能減小寫操做
一般無需設置
- hibernate.cache.use_structured_entries,二級緩存中的數據的存儲格式
默認爲false
設置爲true,則便於人工查看二級緩存,可是有性能影響
- hibernate.cache.auto_evict_collection_cache,當雙向關聯中的Owning方(即多方)變化時自動將緩存中關聯的集合剔除
默認爲false
設置爲true,有性能影響
- hibernate.cache.use_reference_entries,是否直接緩存實體(只讀的或不變的)的引用
2. Hibernate二級緩存的配置方式:
- JPA的標註或XML文件
- Hibernate的標註或XML映射文件
3. @org.hibernate.annotations.Cache標註的3個屬性
- usage,設置二級緩存的併發策略
- region,設置二級緩存的區域
- include,設置是否緩存lazy的數據
- all表示緩存lazy的數據
- non-lazy表示只緩存非lazy的數據