Hibernate中缓存的统计策略-generate_statistics
在Hibernate程序中如果配置了二级缓存,想查看一下二级缓存中存放的数据条数,查询时错过的数据条数,缓存命中率等信息,那么该怎么办呢?
在Hibernate的hibernate.cfg.xml文件中,提供了hibernate.generate_statistics属性,该属性提供了Hibernate应用中操作的统计信息,必须在hibernate.cfg.xml文件中进行配置。该属性在配置文件中的默认值是关闭的,因为它会消耗一些资源,但是它很适合在我们开发过程中调试程序时使用。hibernate.cfg.xml文件中的配置如下:
<property name="generate_statistics">true</property/>
public void addPet(){ // 创建一个Hibernate Configuration类的实例 Configuration config = new Configuration().configure() ; // 创建SessionFactory对象 SessionFactory sf = config.buildSessionFactory() ; // 调用调添加方法 PetDaoImpl petImpl = new PetDaoImpl(); petImpl.add(); // 创建Statistics对象,并通过SessionFactory对象获得统计信息 Statistics st = sf.getStatistics(); // 打印全部统计信息 System.out.println(st); // 打印二级缓存信息 System.out.println(st.getSecondLevelCacheHitCount()); }