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