- 浏览: 1504725 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
在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()方法中进行测试,将会输出统计信息。
发表评论
-
自定义用户类(UserType)的使用
2011-08-04 10:46 1867学习hibernate有段时间了,最近复习这门技术时看到了自定 ... -
技巧:利于ThreadLocal模式管理Session
2011-08-02 10:31 1268在利用Hibernate开发DAO模块时,我们和Session ... -
Hibernate中的回调与拦截机制
2011-07-27 17:31 1462在某些情况下,我们需要对实体的CURD操作进行捕获并执行一些操 ... -
HibernateTemplate中HibernateCallback的事务
2011-07-04 14:41 1449目的:使用HibernateTemplate执行execute ... -
Hibernate的复杂用法HibernateCallback
2011-07-04 14:40 1341HibernateTemplate还提供一种更加灵活的方式来操 ... -
Hibernate session FlushMode有五种属性
2011-07-04 13:59 17321、NEVER:已经废弃了,被MANUAL取代了2 MANUA ... -
数据库持久层——浅谈hibernate中的Session
2011-07-01 22:49 1670大多数情况下,Session 管理的目标聚焦于通过合理的设 ... -
详解Hibernate Session
2011-07-01 22:42 1497这里介绍Hibernate Session,Ses ... -
HttpSession与Hibernate中Session的区别
2011-07-01 22:41 1295一、javax.servlet.http.HttpSess ... -
巧用SQLQuery中的addScalar
2011-06-02 17:16 5747当我们用HQL进行子查询的时候,如select * from ... -
hibernate中SQLQuery的addEntity();方法
2011-04-13 14:48 2895如果使用原生sql语句进行query查询时,hibernate ... -
Hibernate的clear(),flush(),evict()方法详解
2011-03-24 11:18 17741.Clear 方法 无论是Load 还是 G ... -
hibernate模糊查询-Restrictions.ilike & Expression.like
2011-03-11 10:32 16362Criteria criteria = session.c ... -
Hibernate分页查询小结
2011-03-10 11:14 1831通常使用的Hibernate通常是三种:hql查询,QBC查询 ... -
current_session_context_class
2011-03-07 15:31 1296此设置的作用如下: What does sessionFac ... -
Hibernate的拦截器和监听器
2010-12-14 15:06 1388核心提示:最近项目需要,用到了Hibernate的拦截器和 ... -
孙卫琴.精通Hibernate:Java对象持久化技术详解_触发器使缓存与数据库不一致
2010-12-14 08:46 1394p198 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_优化报表查询的性能
2010-12-13 17:51 1274p332 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_查询结果类型
2010-12-13 17:34 1307p329 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_投影查询
2010-12-13 17:31 1425p325
相关推荐
14. **hibernate.generate_statistics** 是否收集统计信息,用于性能分析,设为`true`后,可通过SessionFactory获取统计信息。 以上是Hibernate配置中的一些核心参数,根据实际项目需求,可能还需要配置其他参数,...
- `hibernate.generate_statistics`: 是否开启统计信息收集,有助于分析应用性能。 在实际项目中,`hibernate.cfg.xml`可能包含更多定制化的设置,例如JNDI数据源配置、C3P0连接池设置等。理解并熟练配置这些参数...
10. **hibernate.generate_statistics**:如果开启,Hibernate会收集统计信息以帮助优化性能。这些信息可以提供关于查询效率、缓存使用等的洞察。 11. **hibernate.use_identifier_rollback**:如果设置为`true`,...
10. **`hibernate.generate_statistics`**: 是否生成统计信息。 ```properties hibernate.generate_statistics=true ``` 开启后,Hibernate会在运行时收集一些统计信息,如查询次数、缓存命中率等,有助于监控和...
14. **hibernate.generate_statistics**:开启统计信息收集,有助于分析应用性能。 15. **hibernate.id.new_generator_mappings**:当设置为`true`时,使用新的ID生成策略,默认从Hibernate 5开始启用。 16. **...
10. `hibernate.generate_statistics`: 当设置为`true`,Hibernate会收集性能统计信息,有助于分析和优化应用性能。 11. `hibernate.use_identifier_rollback`: 如果开启,删除对象时,其标识属性将重置为...
<property name="hibernate.generate_statistics">true ``` 以上就是配置Hibernate二级缓存的基本步骤。正确配置并使用二级缓存,可以大大提高JSP应用的性能,减少数据库负载,提高用户体验。需要注意的是,虽然二...
1. 打开 Hibernate 统计信息:spring.jpa.properties.hibernate.generate_statistics=true 2. 打开二级缓存:spring.jpa.properties.hibernate.cache.use_second_level_cache=true 3. 打开查询缓存:spring.jpa....
开启hibernate.generate.statistics可获取统计信息,帮助分析实体、集合、会话和二级缓存的行为。 此外,文章还提到了监控SQL生成以揭示潜在性能问题,以及利用Hibernate统计信息进行诊断。不过,由于篇幅限制,...
<prop key="hibernate.generate_statistics">true <prop key="hibernate.autoReconnect">true <prop key="hibernate.connection.release_mode">auto <prop key="hibernate.cache.provider_class">org.hibernate....