Hibernate 二级缓存配置
我有HibernateEhcache4.1.4最终版本,ehcache-3.3.0.jar HibernateEHCache的配置(Spring3.2)Hibernate 二级缓存配置,hibernate,ehcache,Hibernate,Ehcache,我有HibernateEhcache4.1.4最终版本,ehcache-3.3.0.jar HibernateEHCache的配置(Spring3.2) hibernate.cache.use_second_level_cache=true hibernate.generate_statistics=true hibernate.cache.region.factory_class=org.hibernate.cache
hibernate.cache.use_second_level_cache=true
hibernate.generate_statistics=true
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
我的实体
@Entity
@Table(name = "SESSION_ENTERING")
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
public class SESSION_ENTERING implements Serializable {
...
我的刀
public List<SESSION_ENTERING> getSESSIONS() {
return sessionFactory.getCurrentSession().
createQuery("from SESSION_ENTERING order by id desc")
.setCacheable(true)
.list();
}
//or even this
public SESSION_ENTERING getSESSION() {
return SESSION_ENTERING)sessionFactory.getCurrentSession().get(SESSION_ENTERING.class,256l);
}
你似乎没有具体的问题,但我可以说一件事 因为您使用的是Ehcache 3.3,所以应该通过JCache而不是为Ehcache 2制作的
EhCacheRegionFactory
来配置Ehcache
此外,您应该真正使用经典的类名(以大写字母开始,然后小写)。这对阅读你的人来说有点误导。这是我的错。
首先,我将库ehcache-3.3.0.jar更改为较低的ehcache-core-2.6.10。
第二,我添加了entity@Cacheable注释,但我不确定它是否有用
SecondLevelCacheStatistics cacheEntries = sessionFactory.getStatistics()
.getSecondLevelCacheStatistics("");
sessionFactory.getStatistics().logSummary();