Hibernate 4.1.7 と EhCache を二次キャッシュとして使用しています。必要に応じてキャッシュをクリアする (すべてのリージョンを削除する) レスト サービスを実装しています。
以下はコードスニペットです
org.hibernate.stat.Statistics statistics = HibernateUtil.getSessionFactory().getStatistics();
statistics.setStatisticsEnabled(true);
long hits = statistics.getSecondLevelCacheHitCount();
long misses = statistics.getSecondLevelCacheMissCount();
long puts = statistics.getSecondLevelCachePutCount();
logger.info("Hits: " + hits + " Misses: " + misses + " Puts:" + puts);
cache.evictEntityRegions();
hits = statistics.getSecondLevelCacheHitCount();
misses = statistics.getSecondLevelCacheMissCount();
puts = statistics.getSecondLevelCachePutCount();
logger.info("Hits: " + hits + " Misses: " + misses + " Puts:" + puts);
long hit0 = statistics.getQueryCacheHitCount();
long miss0 = statistics.getSecondLevelCacheMissCount();
残念ながら、すべてのリージョンを削除した後、ヒット/ミスとプットの値が同じになります。