2009-03-04 10 views
11

Im के बीच अंतर क्या मुख्य रूप से EntityStatics (http://www.hibernate.org/hib_docs/v3/api/org/hibernate/stat/EntityStatistics.html) को देख रहा है। मैं बहुत सारे fetch, loads और अपडेट देख सकता हूं और मुझे कहीं भी नहीं मिल सकता है जो कहता है कि उनके बीच क्या अंतर है।हाइबरनेट आंकड़ों में लोड और fetch

उत्तर

6

कोड के माध्यम से पिछड़े काम करते हुए, लाने काउंटर केवल वृद्धि की जाती हो जाता है जब इकाई डेटा स्रोत (के रूप में किसी भी कैश के खिलाफ) से लिया गया है -

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; 
} 

लोड काउंटर ट्रैक करने के लिए भी कई स्थानों से बुलाया गया था उन सभी को नीचे, लेकिन ऐसा लगता है कि किसी भी समय इकाई लोड हो जाती है, चाहे डेटासोर्स या कैश से हो।

+0

अद्यतन? मुझे उन इकाइयों पर बहुत सारे अपडेट मिल रहे हैं जो अपरिवर्तनीय हैं। – Sam

संबंधित मुद्दे