Работая в обратном направлении по коду, счетчик выборки увеличивается только тогда, когда сущность извлекается из источника данных (в отличие от любых кэшей) -
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;
}
Счетчик загрузки вызывался из слишком большого количества мест, чтобы отследить их все, но похоже, что он увеличивается каждый раз при загрузке объекта, независимо от источника данных или кэшей.