2009-03-04 3 views

Respuesta

6

Trabajando hacia atrás a través del código, la zona de alcance contador sólo obtiene incrementa cuando la entidad se recupera de la fuente de datos (a diferencia de cualquier caché) -

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

El contador de carga fue llamado desde muchos lugares para realizar un seguimiento todos hacia abajo, pero parece que se incrementa cada vez que se carga la entidad, ya sea desde el origen de datos o las memorias caché.

+0

¿Desea actualizar? Parece que estoy recibiendo muchas actualizaciones sobre entidades que son inmutables. – Sam

Cuestiones relacionadas