2009-03-04 59 views
11

我主要看着EntityStatics(http://www.hibernate.org/hib_docs/v3/api/org/hibernate/stat/EntityStatistics.html)。我可以看到很多提取,加載和更新,我無法找到任何說明它們之間的區別的地方。在休眠統計什麼是加載和獲取之間的區別

protected Object loadFromDatasource(
     final LoadEvent event, 
     final EntityPersister persister, 
     final EntityKey keyToLoad, 
     final LoadEventListener.LoadType options) { 
    final SessionImplementor source = event.getSession(); 
    Object entity = persister.load(
      event.getEntityId(), 
      event.getInstanceToLoad(), 
      event.getLockMode(), 
      source 
    ); 

    if (event.isAssociationFetch() && source.getFactory().getStatistics().isStatisticsEnabled()) { 
     source.getFactory().getStatisticsImplementor().fetchEntity(event.getEntityClassName()); 
    } 

    return entity; 
} 

負載計數器從太多的地方叫跟蹤 -

回答

6

通過代碼落後的工作,當實體和數據源(如反對任何高速緩存)檢索獲取計數器只被遞增它們全部關閉,但無論是從數據源還是從緩存中加載實體,它看起來都會增加。

+0

更新?我似乎在不可變的實體上獲得大量更新。 – Sam 2009-03-04 23:05:49

相關問題