Package org.hibernate.engine.query

Examples of org.hibernate.engine.query.HQLQueryPlan


  public void testHqlQueryPlanWithEnabledFilter() {
    Session s = openSession();
    QueryPlanCache cache = ( ( SessionImplementor ) s ).getFactory().getQueryPlanCache();

    HQLQueryPlan plan1A = cache.getHQLQueryPlan( "from Person", true, getEnabledFilters( s ) );
    HQLQueryPlan plan1B = cache.getHQLQueryPlan( "from Person", false, getEnabledFilters( s ) );

    s.enableFilter( "sex" ).setParameter( "sexCode", new Character( 'F' ) );
    HQLQueryPlan plan2A = cache.getHQLQueryPlan( "from Person", true, getEnabledFilters( s ) );
    HQLQueryPlan plan2B = cache.getHQLQueryPlan( "from Person", false, getEnabledFilters( s ) );

    s.disableFilter( "sex" );
    HQLQueryPlan plan3A = cache.getHQLQueryPlan( "from Person", true, getEnabledFilters( s ) );
    HQLQueryPlan plan3B = cache.getHQLQueryPlan( "from Person", false, getEnabledFilters( s ) );

    s.enableFilter( "sex" ).setParameter( "sexCode", new Character( 'M' ) );
    HQLQueryPlan plan4A = cache.getHQLQueryPlan( "from Person", true, getEnabledFilters( s ) );
    HQLQueryPlan plan4B = cache.getHQLQueryPlan( "from Person", false, getEnabledFilters( s ) );

    assertSame( plan1A, plan3A );
    assertSame( plan1B, plan3B );
    assertSame( plan2A, plan4A );
    assertSame( plan2B, plan4B );
View Full Code Here


  protected QueryTranslatorImpl createNewQueryTranslator(String hql, SessionFactoryImplementor sfimpl) {
    return createNewQueryTranslator( hql, new HashMap(), false, sfimpl );
  }

  protected HQLQueryPlan createQueryPlan(String hql, boolean scalar) {
    return new HQLQueryPlan( hql, scalar, Collections.EMPTY_MAP, getSessionFactoryImplementor() );
  }
View Full Code Here

    assertEquals( "incorrect expected param type", Hibernate.DOUBLE, translator.getParameterTranslations().getOrdinalParameterExpectedType( 1 ) );

  }

  public void testReturnMetadata() {
    HQLQueryPlan plan = createQueryPlan( "from Animal a" );
    check( plan.getReturnMetadata(), false, true );

    plan = createQueryPlan( "select a as animal from Animal a" );
    check( plan.getReturnMetadata(), false, false );

    plan = createQueryPlan( "from java.lang.Object" );
    check( plan.getReturnMetadata(), true, true );

    plan = createQueryPlan( "select o as entity from java.lang.Object o" );
    check( plan.getReturnMetadata(), true, false );
  }
View Full Code Here

    if ( nqd.getComment() != null ) query.setComment( nqd.getComment() );
  }

  public Query createQuery(String queryString) {
    errorIfClosed();
    HQLQueryPlan plan = getHQLQueryPlan( queryString, false );
    ParameterMetadata paraMetadata = plan.getParameterMetadata();
    QueryImpl query = new QueryImpl(
        queryString,
            this,
            paraMetadata
    );
View Full Code Here

  public List list(String query, QueryParameters queryParameters) throws HibernateException {
    errorIfClosed();
    checkTransactionSynchStatus();
    queryParameters.validateParameters();
    HQLQueryPlan plan = getHQLQueryPlan( query, false );
    autoFlushIfRequired( plan.getQuerySpaces() );

    List results = CollectionHelper.EMPTY_LIST;
    boolean success = false;

    dontFlushFromFind++;   //stops flush being called multiple times if this method is recursively called
    try {
      results = plan.performList( queryParameters, this );
      success = true;
    }
    finally {
      dontFlushFromFind--;
      afterOperation(success);
View Full Code Here

  public int executeUpdate(String query, QueryParameters queryParameters) throws HibernateException {
    errorIfClosed();
    checkTransactionSynchStatus();
    queryParameters.validateParameters();
    HQLQueryPlan plan = getHQLQueryPlan( query, false );
    autoFlushIfRequired( plan.getQuerySpaces() );

    boolean success = false;
    int result = 0;
    try {
      result = plan.performExecuteUpdate( queryParameters, this );
      success = true;
    }
    finally {
      afterOperation(success);
    }
View Full Code Here

  public Iterator iterate(String query, QueryParameters queryParameters) throws HibernateException {
    errorIfClosed();
    checkTransactionSynchStatus();
    queryParameters.validateParameters();
    HQLQueryPlan plan = getHQLQueryPlan( query, true );
    autoFlushIfRequired( plan.getQuerySpaces() );

    dontFlushFromFind++; //stops flush being called multiple times if this method is recursively called
    try {
      return plan.performIterate( queryParameters, this );
    }
    finally {
      dontFlushFromFind--;
    }
  }
View Full Code Here

  }

  public ScrollableResults scroll(String query, QueryParameters queryParameters) throws HibernateException {
    errorIfClosed();
    checkTransactionSynchStatus();
    HQLQueryPlan plan = getHQLQueryPlan( query, false );
    autoFlushIfRequired( plan.getQuerySpaces() );
    dontFlushFromFind++;
    try {
      return plan.performScroll( queryParameters, this );
    }
    finally {
      dontFlushFromFind--;
    }
  }
View Full Code Here

  public int executeUpdate(String query, QueryParameters queryParameters)
      throws HibernateException {
    errorIfClosed();
    queryParameters.validateParameters();
    HQLQueryPlan plan = getHQLQueryPlan( query, false );
    boolean success = false;
    int result = 0;
    try {
      result = plan.performExecuteUpdate( queryParameters, this );
      success = true;
    }
    finally {
      afterOperation(success);
    }
View Full Code Here

  //TODO: COPY/PASTE FROM SessionImpl, pull up!

  public List list(String query, QueryParameters queryParameters) throws HibernateException {
    errorIfClosed();
    queryParameters.validateParameters();
    HQLQueryPlan plan = getHQLQueryPlan( query, false );
    boolean success = false;
    List results = CollectionHelper.EMPTY_LIST;
    try {
      results = plan.performList( queryParameters, this );
      success = true;
    }
    finally {
      afterOperation(success);
    }
View Full Code Here

TOP

Related Classes of org.hibernate.engine.query.HQLQueryPlan

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.