1. 要在spring配置文件加入
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
2. 要在 实体的hbm.xml里面加入
<cache usage="read-write"/>
要加到CLASS标签里面。
3. 如果要使用查询缓存<prop key="hibernate.cache.use_query_cache">true</prop> 是必要的,当然还有query.setCacheable(true)。
4. load 和 get 方法都能使用1级和2级缓存(原以为只有load能使用一级缓存,测试get也可以)。
5. 当使用查询缓存的时候,如果在查询条件不变的情况下(HQL语句一样),当结果集变的时候(例如有新纪录增加),缓存会重新发SQL语句。