十分种学会Hibernate数据记录技术

本文向大家介绍Hibernate数据记录,可能好多人还不了解Hibernate数据记录,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

创新互联公司网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都网站设计、成都网站制作易于使用并且具有良好的响应性。

Hibernate提供了一系列数据记录,其记录的内容包括从最基本的信息到与具体场景的特殊信息。所有的测量值都可以由 Statistics接口进行访问,主要分为三类:

◆使用Session的普通数据记录,例如打开的Session的个数、取得的JDBC的连接数等;

◆实体、集合、查询、缓存等内容的统一数据记录

◆和具体实体、集合、查询、缓存相关的详细数据记录

例如:

你可以检查缓存的命中成功次数,缓存的命中失败次数,实体、集合和查询的使用概率,查询的平均时间等。请注意 Java中时间的近似精度是毫秒。Hibernate的数据精度和具体的JVM有关,在有些平台上其精度甚至只能精确到10秒。

你可以直接使用getter方法得到全局数据记录(例如,和具体的实体、集合、缓存区无关的数据),你也可以在具体查询中通过标记实体名、 或HQL、SQL语句得到某实体的数据记录。请参考Statistics、EntityStatistics、 CollectionStatistics、SecondLevelCacheStatistics、 和QueryStatistics的API文档以抓取更多信息。下面的代码则是个简单的例子:

 
 
 
  1. Statistics stats = HibernateUtil.sessionFactory.getStatistics();  
  2.  
  3. double queryCacheHitCount  = stats.getQueryCacheHitCount();  
  4. double queryCacheMissCount = stats.getQueryCacheMissCount();  
  5. double queryCacheHitRatio =  
  6.   queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount);  
  7.  
  8. log.info("Query Hit ratio:" + queryCacheHitRatio);  
  9.  
  10. EntityStatistics entityStats =  
  11.   stats.getEntityStatistics( Cat.class.getName() );  
  12. long changes =  
  13.         entityStats.getInsertCount()  
  14.         + entityStats.getUpdateCount()  
  15.         + entityStats.getDeleteCount();  
  16. log.info(Cat.class.getName() + " changed " + changes + "times"  ); 

如果你想得到所有实体、集合、查询和缓存区的数据,你可以通过以下方法获得实体、集合、查询和缓存区列表: getQueries()、getEntityNames()、 getCollectionRoleNames()和 getSecondLevelCacheRegionNames()。

上面是的例子说明了Hibernate数据记录技术。

【编辑推荐】

  1. 简述Hibernate中加载并存储对象
  2. Hibernate传播性持久化攻略
  3. 深入了解Hibernate自动状态检测
  4. 简单学会Hibernate对象持久化
  5. 分析Hibernate自增主键

本文标题:十分种学会Hibernate数据记录技术
标题网址:http://www.36103.cn/qtweb/news34/17884.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联