新聞中心
本文向大家介紹Hibernate數(shù)據(jù)記錄,可能好多人還不了解Hibernate數(shù)據(jù)記錄,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)由有經(jīng)驗的網(wǎng)站設(shè)計師、開發(fā)人員和項目經(jīng)理組成的專業(yè)建站團隊,負責(zé)網(wǎng)站視覺設(shè)計、用戶體驗優(yōu)化、交互設(shè)計和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都網(wǎng)站設(shè)計、成都網(wǎng)站制作易于使用并且具有良好的響應(yīng)性。
Hibernate提供了一系列數(shù)據(jù)記錄,其記錄的內(nèi)容包括從最基本的信息到與具體場景的特殊信息。所有的測量值都可以由 Statistics接口進行訪問,主要分為三類:
◆使用Session的普通數(shù)據(jù)記錄,例如打開的Session的個數(shù)、取得的JDBC的連接數(shù)等;
◆實體、集合、查詢、緩存等內(nèi)容的統(tǒng)一數(shù)據(jù)記錄
◆和具體實體、集合、查詢、緩存相關(guān)的詳細數(shù)據(jù)記錄
例如:
你可以檢查緩存的命中成功次數(shù),緩存的命中失敗次數(shù),實體、集合和查詢的使用概率,查詢的平均時間等。請注意 Java中時間的近似精度是毫秒。Hibernate的數(shù)據(jù)精度和具體的JVM有關(guān),在有些平臺上其精度甚至只能精確到10秒。
你可以直接使用getter方法得到全局數(shù)據(jù)記錄(例如,和具體的實體、集合、緩存區(qū)無關(guān)的數(shù)據(jù)),你也可以在具體查詢中通過標(biāo)記實體名、 或HQL、SQL語句得到某實體的數(shù)據(jù)記錄。請參考Statistics、EntityStatistics、 CollectionStatistics、SecondLevelCacheStatistics、 和QueryStatistics的API文檔以抓取更多信息。下面的代碼則是個簡單的例子:
- Statistics stats = HibernateUtil.sessionFactory.getStatistics();
- double queryCacheHitCount = stats.getQueryCacheHitCount();
- double queryCacheMissCount = stats.getQueryCacheMissCount();
- double queryCacheHitRatio =
- queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount);
- log.info("Query Hit ratio:" + queryCacheHitRatio);
- EntityStatistics entityStats =
- stats.getEntityStatistics( Cat.class.getName() );
- long changes =
- entityStats.getInsertCount()
- + entityStats.getUpdateCount()
- + entityStats.getDeleteCount();
- log.info(Cat.class.getName() + " changed " + changes + "times" );
如果你想得到所有實體、集合、查詢和緩存區(qū)的數(shù)據(jù),你可以通過以下方法獲得實體、集合、查詢和緩存區(qū)列表: getQueries()、getEntityNames()、 getCollectionRoleNames()和 getSecondLevelCacheRegionNames()。
上面是的例子說明了Hibernate數(shù)據(jù)記錄技術(shù)。
【編輯推薦】
- 簡述Hibernate中加載并存儲對象
- Hibernate傳播性持久化攻略
- 深入了解Hibernate自動狀態(tài)檢測
- 簡單學(xué)會Hibernate對象持久化
- 分析Hibernate自增主鍵
網(wǎng)頁題目:十分種學(xué)會Hibernate數(shù)據(jù)記錄技術(shù)
文章網(wǎng)址:http://m.fisionsoft.com.cn/article/dhhcocj.html


咨詢
建站咨詢
