Package org.hibernate.engine.query.spi

Examples of org.hibernate.engine.query.spi.ParameterMetadata


  public FullTextQuery createFullTextQuery(org.apache.lucene.search.Query luceneQuery, Class<?>... entities) {
    return new FullTextQueryImpl(
        luceneQuery,
        entities,
        sessionImplementor,
        new ParameterMetadata( null, null )
    );
  }
View Full Code Here


    return query;
  }

  @Override
  public SQLQuery createSQLQuery(NamedSQLQueryDefinition namedQueryDefinition) {
    final ParameterMetadata parameterMetadata = factory.getQueryPlanCache().getSQLParameterMetadata( namedQueryDefinition.getQueryString() );
    final SQLQuery query = new SQLQueryImpl(
        namedQueryDefinition,
        this,
        parameterMetadata
    );
View Full Code Here

  public FullTextQuery createFullTextQuery(org.apache.lucene.search.Query luceneQuery, Class<?>... entities) {
    return new FullTextQueryImpl(
        luceneQuery,
        entities,
        sessionImplementor,
        new ParameterMetadata( null, null )
    );
  }
View Full Code Here

              description.isJpaStyle()
          )
      );
    }

    return new ParameterMetadata( ordinalDescriptors, namedParamDescriptorMap );
  }
View Full Code Here

    NoSQLQuery query = nosqlQuery( session, result );
    return query;
  }

  private NoSQLQuery nosqlQuery(OgmSession session, Neo4jQueryParsingResult result) {
    NoSQLQuery query = new NoSQLQueryImpl( result.getQuery(), (SessionImplementor) session, new ParameterMetadata( null, null ) );
    // Register the result types of the query; Currently either a number of scalar values or an entity return
    // are supported only; JP-QL would actually a combination of both, though (see OGM-514)
    if ( hasProjections( result ) ) {
      for ( String field : result.getProjections() ) {
        query.addScalar( field );
View Full Code Here

  public FullTextQuery createFullTextQuery(org.apache.lucene.search.Query luceneQuery, Class<?>... entities) {
    return new FullTextQueryImpl(
        luceneQuery,
        entities,
        sessionImplementor,
        new ParameterMetadata( null, null )
    );
  }
View Full Code Here

    // Use existing Hibernate ORM special-purpose parser to extract the parameters metadata.
    // I think we have the same details in our AST already, but I keep this for now to not
    // diverge too much from ORM code.
    try {
      HQLQueryPlan plan = new HQLQueryPlan( queryString, false, enabledFilters, factory );
      ParameterMetadata parameterMetadata = plan.getParameterMetadata();
      //TODO make sure the HQLQueryPlan et al are cached at some level
      OgmQuery query = new OgmQuery( queryString, getFlushMode(), this, parameterMetadata, getQueryParserService() );
      query.setComment( queryString );
      return query;
    }
View Full Code Here

    else {
      NamedSQLQueryDefinition nsqlqd = factory.getNamedSQLQuery( queryName );
      if ( nsqlqd==null ) {
        throw new MappingException( "Named query not known: " + queryName );
      }
      ParameterMetadata parameterMetadata = factory.getQueryPlanCache().getSQLParameterMetadata( nsqlqd.getQueryString() );
      query = new SQLQueryImpl(
          nsqlqd,
              this,
          parameterMetadata
      );
View Full Code Here

  public FullTextQuery createFullTextQuery(org.apache.lucene.search.Query luceneQuery, Class<?>... entities) {
    return new FullTextQueryImpl(
        luceneQuery,
        entities,
        sessionImplementor,
        new ParameterMetadata( null, null )
    );
  }
View Full Code Here

  private void extractParameterInfo(Map<String,Class> namedParameterTypeRedefinition) {
    if ( ! org.hibernate.internal.AbstractQueryImpl.class.isInstance( query ) ) {
      throw new IllegalStateException( "Unknown query type for parameter extraction" );
    }

    final ParameterMetadata parameterMetadata = org.hibernate.internal.AbstractQueryImpl.class.cast( query ).getParameterMetadata();

    // extract named params
    for ( String name : (Set<String>) parameterMetadata.getNamedParameterNames() ) {
      final NamedParameterDescriptor descriptor = parameterMetadata.getNamedParameterDescriptor( name );
      Class javaType = namedParameterTypeRedefinition.get( name );
      if ( javaType != null && mightNeedRedefinition( javaType, descriptor.getExpectedType() ) ) {
        descriptor.resetExpectedType(
            sfi().getTypeResolver().heuristicType( javaType.getName() )
        );
      }
      else if ( descriptor.getExpectedType() != null ) {
        javaType = descriptor.getExpectedType().getReturnedClass();
      }
      registerParameter( new ParameterRegistrationImpl( this, query, name, javaType ) );
      if ( descriptor.isJpaStyle() ) {
        if ( jpaPositionalIndices == null ) {
          jpaPositionalIndices = new HashSet<Integer>();
        }
        jpaPositionalIndices.add( Integer.valueOf( name ) );
      }
    }

    // extract positional parameters
    for ( int i = 0, max = parameterMetadata.getOrdinalParameterCount(); i < max; i++ ) {
      final OrdinalParameterDescriptor descriptor = parameterMetadata.getOrdinalParameterDescriptor( i + 1 );
      Class javaType = descriptor.getExpectedType() == null ? null : descriptor.getExpectedType().getReturnedClass();
      registerParameter( new ParameterRegistrationImpl( this, query, i+1, javaType ) );
      Integer position = descriptor.getOrdinalPosition();
            if ( jpaPositionalIndices != null && jpaPositionalIndices.contains(position) ) {
        LOG.parameterPositionOccurredAsBothJpaAndHibernatePositionalParameter(position);
View Full Code Here

TOP

Related Classes of org.hibernate.engine.query.spi.ParameterMetadata

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.