首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate中缓存的统策略略-generate_statistics

2012-09-21 
Hibernate中缓存的统计策略-generate_statistics?? 在Hibernate程序中如果配置了二级缓存,想查看一下二级

Hibernate中缓存的统计策略-generate_statistics

?? 在Hibernate程序中如果配置了二级缓存,想查看一下二级缓存中存放的数据条数,查询时错过的数据条数,缓存命中率等信息,那么该怎么办呢?

??????? 在Hibernate的hibernate.cfg.xml文件中,提供了hibernate.generate_statistics属性,该属性提供了Hibernate应用中操作的统计信息,必须在hibernate.cfg.xml文件中进行配置。该属性在配置文件中的默认值是关闭的,因为它会消耗一些资源,但是它很适合在我们开发过程中调试程序时使用。hibernate.cfg.xml文件中的配置如下:

??????? <property name="generate_statistics">true</property/>

??????? 这时我们已经将Hibernate的统计信息打开了,接下来我们应该怎样使用它呢?

??????? 在org.hibernate.SessionFactory类中提供了一个得到统计信息的方法,该方法返回一个Statistic类型的数据。之后我们通过Statistics对象取出数据操作时的缓存信息。它提供了取出全部统计信息和取出指定缓存的统计信息,例如:我们就想查看二级缓存中的统计信息,那么可以通过方法指定。例如:我们添加一条数据,该方法是addPet(),将该方法放到main()方法中测试,如下:

??????? addPet()方法的实现:

?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());
?}

???????? 将addPet()方法添加到main()方法中进行测试,将会输出统计信息。

热点排行