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


  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

    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

    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

    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

    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

        tableName,
        result.getQuery(),
        result.getProjection(),
        result.getOrderBy(),
        sessionImplementor,
        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 ( result.getProjection() != null ) {
View Full Code Here

      throw new IllegalStateException( "Unknown query type for parameter extraction" );
    }

    boolean hadJpaPositionalParameters = false;

    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();
      }

      if ( descriptor.isJpaStyle() ) {
        hadJpaPositionalParameters = true;
        final Integer position = Integer.valueOf( name );
        registerParameter( new JpaPositionalParameterRegistrationImpl( this, query, position, javaType ) );
      }
      else {
        registerParameter( new ParameterRegistrationImpl( this, query, name, javaType ) );
      }
    }

    if ( hadJpaPositionalParameters ) {
      if ( parameterMetadata.getOrdinalParameterCount() > 0 ) {
        throw new IllegalArgumentException(
            "Cannot mix JPA positional parameters and native Hibernate positional/ordinal parameters"
        );
      }
    }

    // extract Hibernate native 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 ) );
    }
  }
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.