В основном я смотрю на EntityStatics (http://www.hibernate.org/hib_docs/v3/api/org/hibernate/stat/EntityStatistics.html). Я вижу много извлечения, загрузок и обновлений, и я не могу найти где-нибудь, что говорит о различии между ними.
В статистике спящего режима какая разница между нагрузкой и выборкой
Ответ 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;
}
Счетчик загрузки вызывается из слишком большого количества мест, чтобы отслеживать их все вниз, но похоже, что он увеличивается при каждом запуске объекта, будь то из источника данных или кэшей.