在hibernate统计中有什么是load和fetch之间的区别

我主要看的是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; } 

从太多的地方调用了加载计数器来跟踪它们,但看起来无论是从数据源还是缓存加载实体,它都会增加。