Hibernate二級緩存的全局配置

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的數據