public Object instantiate( String entityName, Serializable id) throws HibernateException { errorIfClosed(); return getFactory().getEntityPersister( entityName ) .instantiate( id, EntityMode.POJO ); }
public ScrollableResults scrollCustomQuery(CustomQuery customQuery, QueryParameters queryParameters) throws HibernateException { errorIfClosed(); CustomLoader loader = new CustomLoader( customQuery, getFactory() ); return loader.scroll(queryParameters, this); }
public Object get(String entityName, Serializable id, LockMode lockMode) { errorIfClosed(); Object result = getFactory().getEntityPersister(entityName) .load(id, null, lockMode, this); temporaryPersistenceContext.clear(); return result; }
public EntityPersister getEntityPersister(String entityName, Object object) throws HibernateException { errorIfClosed(); if ( entityName==null ) { return factory.getEntityPersister( guessEntityName( object ) ); } else { return factory.getEntityPersister( entityName ) .getSubclassEntityPersister( object, getFactory(), EntityMode.POJO ); } }
public List listCustomQuery(CustomQuery customQuery, QueryParameters queryParameters) throws HibernateException { errorIfClosed(); CustomLoader loader = new CustomLoader( customQuery, getFactory() ); boolean success = false; List results; try { results = loader.list(this, queryParameters); success = true; } finally { afterOperation(success); } temporaryPersistenceContext.clear(); return results; }
public Object internalLoad( String entityName, Serializable id, boolean eager, boolean nullable) throws HibernateException { errorIfClosed(); EntityPersister persister = getFactory().getEntityPersister(entityName); if ( !eager && persister.hasProxy() ) { return persister.createProxy(id, this); } Object loaded = temporaryPersistenceContext.getEntity( new EntityKey(id, persister, EntityMode.POJO) ); //TODO: if not loaded, throw an exception return loaded==null ? get( entityName, id ) : loaded; }
log.trace( "refreshing transient " + MessageHelper.infoString( persister, id, this.getFactory() ) ); persister.getRootEntityName(), this.getEntityMode(), this.getFactory() ); persister.getCache().remove(ck);