private QueryTranslator[] getQueries(String query, boolean scalar) throws HibernateException { // take the union of the query spaces (ie. the queried tables) QueryTranslator[] q = factory.getQuery( query, scalar, getEnabledFilters() ); return prepareQueries(q); }
public ScrollableResults scroll(String query, QueryParameters queryParameters) throws HibernateException { if ( log.isTraceEnabled() ) { log.trace( "scroll: " + query ); queryParameters.traceParameters( factory ); } QueryTranslator[] q = factory.getQuery( query, false, getEnabledFilters() ); if ( q.length != 1 ) throw new QueryException( "implicit polymorphism not supported for scroll() queries" ); autoFlushIfRequired( q[0].getQuerySpaces() ); dontFlushFromFind++; //stops flush being called multiple times if this method is recursively called try { return q[0].scroll(queryParameters, this); } finally { dontFlushFromFind--; } }
criteria, implementors[i], getEnabledFilters() );
public ScrollableResults scroll(CriteriaImpl criteria, ScrollMode scrollMode) { String entityName = criteria.getEntityOrClassName(); CriteriaLoader loader = new CriteriaLoader( getOuterJoinLoadable(entityName), factory, criteria, entityName, getEnabledFilters() ); autoFlushIfRequired( loader.getQuerySpaces() ); dontFlushFromFind++; try { return loader.scroll(this, scrollMode); } finally { dontFlushFromFind--; } }
CollectionPersister roleAfterFlush = (entry == null) ? null : entry.getLoadedPersister(); if ( roleAfterFlush == null ) throw new QueryException( "The collection was unreferenced" ); filterTranslator = factory.getFilter( filter, roleAfterFlush.getRole(), scalar, getEnabledFilters() ); filterTranslator = factory.getFilter( filter, roleBeforeFlush.getRole(), scalar, getEnabledFilters() ); if ( autoFlushIfRequired( filterTranslator.getQuerySpaces() ) ) { if ( roleBeforeFlush != roleAfterFlush ) { if ( roleAfterFlush == null ) throw new QueryException( "The collection was dereferenced" ); filterTranslator = factory.getFilter( filter, roleAfterFlush.getRole(), scalar, getEnabledFilters() );
throw new QueryException( "The collection was unreferenced" ); plan = factory.getQueryPlanCache().getFilterQueryPlan( filter, roleAfterFlush.getRole(), shallow, getEnabledFilters() ); plan = factory.getQueryPlanCache().getFilterQueryPlan( filter, roleBeforeFlush.getRole(), shallow, getEnabledFilters() ); if ( autoFlushIfRequired( plan.getQuerySpaces() ) ) { throw new QueryException( "The collection was dereferenced" ); plan = factory.getQueryPlanCache().getFilterQueryPlan( filter, roleAfterFlush.getRole(), shallow, getEnabledFilters() );