public void put(QueryKey key, Type[] returnTypes, List result, SessionImplementor session) throws HibernateException { if ( log.isDebugEnabled() ) log.debug("caching query results in region: " + regionName); List cacheable = new ArrayList( result.size()+1 ); cacheable.add( new Long( session.getTimestamp() ) ); for ( int i=0; i<result.size(); i++ ) { if ( returnTypes.length==1 ) { cacheable.add( returnTypes[0].disassemble( result.get(i), session, null ) ); } else { cacheable.add( TypeFactory.disassemble( (Object[]) result.get(i), returnTypes, session, null ) ); } } queryCache.put(key, cacheable); }
Long ts = new Long( session.getTimestamp() );
public Object initializeLazyProperty(String fieldName, Object entity, SessionImplementor session) throws HibernateException { final Serializable id = session.getContextEntityIdentifier( entity ); final EntityEntry entry = session.getPersistenceContext().getEntry( entity ); if ( entry == null ) { throw new HibernateException( "entity is not associated with the session: " + id ); } if ( log.isTraceEnabled() ) { log.trace( "initializing lazy properties of: " + MessageHelper.infoString( this, id, getFactory() ) + ", field access: " + fieldName ); } if ( hasCache() ) { CacheKey cacheKey = new CacheKey(id, getIdentifierType(), getEntityName(), session.getEntityMode(), getFactory() ); Object ce = getCache().get( cacheKey, session.getTimestamp() ); if (ce!=null) { CacheEntry cacheEntry = (CacheEntry) getCacheEntryStructure().destructure(ce, factory); if ( !cacheEntry.areLazyPropertiesUnfetched() ) { //note early exit here: return initializeLazyPropertiesFromCache( fieldName, entity, session, entry, cacheEntry ); } } } return initializeLazyPropertiesFromDatastore( fieldName, entity, session, id, entry ); }
); Object ce = persister.getCache() .get( ck, source.getTimestamp() );
new CacheKey( lce.key, persister.getKeyType(), persister.getRole(), session.getEntityMode(), session.getFactory() ), persister.getCacheEntryStructure().structure(entry), session.getTimestamp(), version, versionComparator,
cacheKey, persister.getCacheEntryStructure().structure(entry), session.getTimestamp(), version, versionComparator,
source.getFactory() ); Object ce = persister.getCache().get( ck, source.getTimestamp() );
source.getFactory() ); Object ce = persister.getCache().get( ck, source.getTimestamp() );
if ( getCache().get( ck, session.getTimestamp() ) != null ) return Boolean.FALSE;
new CacheKey( id, persister.getIdentifierType(), persister.getRootEntityName(), session.getEntityMode(), session.getFactory() ), persister.getCacheEntryStructure().structure(entry), session.getTimestamp(), Versioning.getVersion(hydratedState, persister), persister.isVersioned() ?
cacheKey, persister.getCacheEntryStructure().structure(entry), session.getTimestamp(), version, persister.isVersioned() ?
); Object ce = persister.getCache() .get( ck, source.getTimestamp() );