Package org.hibernate.engine.spi

Examples of org.hibernate.engine.spi.NamedQueryDefinition


      throw new AnnotationException( "A named query must have a name when used in class or package level" );
    }
    FlushMode flushMode;
    flushMode = getFlushMode( queryAnn.flushMode() );

    NamedQueryDefinition query = new NamedQueryDefinition(
        queryAnn.name(),
        queryAnn.query(),
        queryAnn.cacheable(),
        BinderHelper.isEmptyAnnotationValue( queryAnn.cacheRegion() ) ? null : queryAnn.cacheRegion(),
        queryAnn.timeout() < 0 ? null : queryAnn.timeout(),
        queryAnn.fetchSize() < 0 ? null : queryAnn.fetchSize(),
        flushMode,
        getCacheMode( queryAnn.cacheMode() ),
        queryAnn.readOnly(),
        BinderHelper.isEmptyAnnotationValue( queryAnn.comment() ) ? null : queryAnn.comment(),
        null
    );

    mappings.addQuery( query.getName(), query );
    if ( LOG.isDebugEnabled() ) {
      LOG.debugf( "Binding named query: %s => %s", query.getName(), query.getQueryString() );
    }
  }
View Full Code Here


    Attribute cacheModeAtt = queryElem.attribute( "cache-mode" );
    String cacheMode = cacheModeAtt == null ? null : cacheModeAtt.getValue();
    Attribute cmAtt = queryElem.attribute( "comment" );
    String comment = cmAtt == null ? null : cmAtt.getValue();

    NamedQueryDefinition namedQuery = new NamedQueryDefinition(
        queryName,
        query,
        cacheable,
        region,
        timeout,
        fetchSize,
        getFlushMode( queryElem.attributeValue( "flush-mode" ) ) ,
        getCacheMode( cacheMode ),
        readOnly,
        comment,
        getParameterTypes(queryElem)
      );

    mappings.addQuery( namedQuery.getName(), namedQuery );
  }
View Full Code Here

    Attribute cacheModeAtt = queryElem.attribute( "cache-mode" );
    String cacheMode = cacheModeAtt == null ? null : cacheModeAtt.getValue();
    Attribute cmAtt = queryElem.attribute( "comment" );
    String comment = cmAtt == null ? null : cmAtt.getValue();

    NamedQueryDefinition namedQuery = new NamedQueryDefinition(
        queryName,
        query,
        cacheable,
        region,
        timeout,
        fetchSize,
        getFlushMode( queryElem.attributeValue( "flush-mode" ) ) ,
        getCacheMode( cacheMode ),
        readOnly,
        comment,
        getParameterTypes(queryElem)
      );

    mappings.addQuery( namedQuery.getName(), namedQuery );
  }
View Full Code Here

    Attribute cacheModeAtt = queryElem.attribute( "cache-mode" );
    String cacheMode = cacheModeAtt == null ? null : cacheModeAtt.getValue();
    Attribute cmAtt = queryElem.attribute( "comment" );
    String comment = cmAtt == null ? null : cmAtt.getValue();

    NamedQueryDefinition namedQuery = new NamedQueryDefinition(
        query,
        cacheable,
        region,
        timeout,
        fetchSize,
View Full Code Here

  }

  @Override
  public Query getNamedQuery(String queryName) throws MappingException {
    errorIfClosed();
    NamedQueryDefinition nqd = factory.getNamedQuery( queryName );
    final Query query;
    if ( nqd != null ) {
      String queryString = nqd.getQueryString();
      query = new QueryImpl(
          queryString,
              nqd.getFlushMode(),
              this,
              getHQLQueryPlan( queryString, false ).getParameterMetadata()
      );
      query.setComment( "named HQL query " + queryName );
    }
View Full Code Here

    return buildQueryFromName( name, null );
  }

  private <T> TypedQuery<T> buildQueryFromName(String name, Class<T> resultType) {
    OgmSessionFactory sessionFactory = (OgmSessionFactory) factory.getSessionFactory();
    NamedQueryDefinition queryDefinition = sessionFactory.getNamedSQLQuery( name );
    if ( queryDefinition == null ) {
      queryDefinition = sessionFactory.getNamedQuery( name );
      if ( queryDefinition == null ) {
        throw new IllegalArgumentException( "Named query not found: " + name );
      }
View Full Code Here

        if (BinderHelper.isEmptyAnnotationValue(queryAnn.name())) throw new AnnotationException(
                                                                                                "A named query must have a name when used in class or package level");
    //EJBQL Query
    QueryHint[] hints = queryAnn.hints();
    String queryName = queryAnn.query();
    NamedQueryDefinition query = new NamedQueryDefinition(
        queryName,
        getBoolean( queryName, "org.hibernate.cacheable", hints ),
        getString( queryName, "org.hibernate.cacheRegion", hints ),
        getTimeout( queryName, hints ),
        getInteger( queryName, "org.hibernate.fetchSize", hints ),
View Full Code Here

        if (BinderHelper.isEmptyAnnotationValue(queryAnn.name())) throw new AnnotationException(
                                                                                                "A named query must have a name when used in class or package level");
    FlushMode flushMode;
    flushMode = getFlushMode( queryAnn.flushMode() );

    NamedQueryDefinition query = new NamedQueryDefinition(
        queryAnn.query(),
        queryAnn.cacheable(),
        BinderHelper.isEmptyAnnotationValue( queryAnn.cacheRegion() ) ? null : queryAnn.cacheRegion(),
        queryAnn.timeout() < 0 ? null : queryAnn.timeout(),
        queryAnn.fetchSize() < 0 ? null : queryAnn.fetchSize(),
View Full Code Here

    }
    Iterator itr = namedQueries.entrySet().iterator();
    while ( itr.hasNext() ) {
      final Map.Entry entry = ( Map.Entry ) itr.next();
      final String queryName = ( String ) entry.getKey();
      final NamedQueryDefinition qd = ( NamedQueryDefinition ) entry.getValue();
      // this will throw an error if there's something wrong.
      try {
        LOG.debugf( "Checking named query: %s", queryName );
        //TODO: BUG! this currently fails for named queries for non-POJO entities
        queryPlanCache.getHQLQueryPlan( qd.getQueryString(), false, CollectionHelper.EMPTY_MAP );
      }
      catch ( QueryException e ) {
        errors.put( queryName, e );
      }
      catch ( MappingException e ) {
        errors.put( queryName, e );
      }


    }
    if ( LOG.isDebugEnabled() ) {
      LOG.debugf( "Checking %s named SQL queries", namedSqlQueries.size() );
    }
    itr = namedSqlQueries.entrySet().iterator();
    while ( itr.hasNext() ) {
      final Map.Entry entry = ( Map.Entry ) itr.next();
      final String queryName = ( String ) entry.getKey();
      final NamedSQLQueryDefinition qd = ( NamedSQLQueryDefinition ) entry.getValue();
      // this will throw an error if there's something wrong.
      try {
        LOG.debugf( "Checking named SQL query: %s", queryName );
        // TODO : would be really nice to cache the spec on the query-def so as to not have to re-calc the hash;
        // currently not doable though because of the resultset-ref stuff...
        NativeSQLQuerySpecification spec;
        if ( qd.getResultSetRef() != null ) {
          ResultSetMappingDefinition definition = sqlResultSetMappings.get( qd.getResultSetRef() );
          if ( definition == null ) {
            throw new MappingException( "Unable to find resultset-ref definition: " + qd.getResultSetRef() );
          }
          spec = new NativeSQLQuerySpecification(
              qd.getQueryString(),
                  definition.getQueryReturns(),
                  qd.getQuerySpaces()
          );
        }
        else {
          spec =  new NativeSQLQuerySpecification(
              qd.getQueryString(),
                  qd.getQueryReturns(),
                  qd.getQuerySpaces()
          );
        }
        queryPlanCache.getNativeSQLQueryPlan( spec );
      }
      catch ( QueryException e ) {
View Full Code Here

    Attribute cacheModeAtt = queryElem.attribute( "cache-mode" );
    String cacheMode = cacheModeAtt == null ? null : cacheModeAtt.getValue();
    Attribute cmAtt = queryElem.attribute( "comment" );
    String comment = cmAtt == null ? null : cmAtt.getValue();

    NamedQueryDefinition namedQuery = new NamedQueryDefinition(
        queryName,
        query,
        cacheable,
        region,
        timeout,
        fetchSize,
        getFlushMode( queryElem.attributeValue( "flush-mode" ) ) ,
        getCacheMode( cacheMode ),
        readOnly,
        comment,
        getParameterTypes(queryElem)
      );

    mappings.addQuery( namedQuery.getName(), namedQuery );
  }
View Full Code Here

TOP

Related Classes of org.hibernate.engine.spi.NamedQueryDefinition

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.