Package org.hibernate.engine.spi

Examples of org.hibernate.engine.spi.TypedValue


  public Query setParameter(String name, Object val, Type type) {
    if ( !parameterMetadata.getNamedParameterNames().contains( name ) ) {
      throw new IllegalArgumentException("Parameter " + name + " does not exist as a named parameter in [" + getQueryString() + "]");
    }
    else {
       namedParameters.put( name, new TypedValue( type, val  ) );
       return this;
    }
  }
View Full Code Here


  public Query setParameterList(String name, Collection vals, Type type) throws HibernateException {
    if ( !parameterMetadata.getNamedParameterNames().contains( name ) ) {
      throw new IllegalArgumentException("Parameter " + name + " does not exist as a named parameter in [" + getQueryString() + "]");
    }
    namedParameterLists.put( name, new TypedValue( type, vals ) );
    return this;
  }
View Full Code Here

        StringHelper.getFirstNonWhitespaceCharacter( afterPlaceholder ) == ')';

    if ( vals.size() == && isEnclosedInParens ) {
      // short-circuit for performance when only 1 value and the
      // placeholder is already enclosed in parentheses...
      namedParamsCopy.put( name, new TypedValue( type, vals.iterator().next() ) );
      return query;
    }

    StringBuilder list = new StringBuilder( 16 );
    Iterator iter = vals.iterator();
    int i = 0;
    while ( iter.hasNext() ) {
      // Variable 'name' can represent a number or contain digit at the end. Surrounding it with
      // characters to avoid ambiguous definition after concatenating value of 'i' counter.
      String alias = ( isJpaPositionalParam ? 'x' + name : name ) + '_' + i++ + '_';
      if ( namedParamsCopy.put( alias, new TypedValue( type, iter.next() ) ) != null ) {
        throw new HibernateException( "Repeated usage of alias '" + alias + "' while expanding list parameter." );
      }
      list.append( ParserHelper.HQL_VARIABLE_PREFIX ).append( alias );
      if ( iter.hasNext() ) {
        list.append( ", " );
View Full Code Here

      Iterator iter = namedParams.entrySet().iterator();
      int result = 0;
      while ( iter.hasNext() ) {
        Map.Entry e = ( Map.Entry ) iter.next();
        String name = ( String ) e.getKey();
        TypedValue typedval = (TypedValue) e.getValue();
        int[] locations = source.getNamedParameterLocations( name );
        for ( int i = 0; i < locations.length; i++ ) {
          if ( debugEnabled ) {
            LOG.debugf("bindNamedParameters() %s -> %s [%s]", typedval.getValue(), name, locations[i] + start);
          }
          typedval.getType().nullSafeSet( ps, typedval.getValue(), locations[i] + start, session );
        }
        result += locations.length;
      }
      return result;
    }
View Full Code Here

      for ( int j=0; j<values.length; j++ ) {
        for ( int i=0; i<types.length; i++ ) {
          Object subval = values[j]==null ?
            null :
            actype.getPropertyValues( values[j], EntityMode.POJO )[i];
          list.add( new TypedValue( types[i], subval, EntityMode.POJO ) );
        }
      }
    }
    else {
      for ( int j=0; j<values.length; j++ ) {
        list.add( new TypedValue( type, values[j], EntityMode.POJO ) );
      }
    }
    return (TypedValue[]) list.toArray( new TypedValue[ list.size() ] );
  }
View Full Code Here

          Serializable currentId = ForeignKeys.getEntityIdentifierIfNotUnsaved(
              entityName,
              current,
              session
          );
          currentIds.add( new TypedValue( idType, currentId, entityPersister.getEntityMode() ) );
        }
      }
    }

    // iterate over the *old* list
    for ( Object old : oldElements ) {
      if ( !currentSaving.contains( old ) ) {
        Serializable oldId = ForeignKeys.getEntityIdentifierIfNotUnsaved( entityName, old, session );
        if ( !currentIds.contains( new TypedValue( idType, oldId, entityPersister.getEntityMode() ) ) ) {
          res.add( old );
        }
      }
    }

View Full Code Here

    if ( CollectionHelper.isEmpty( namedParams ) ) {
      return result;
    }

    for ( String name : namedParams.keySet() ) {
      TypedValue typedValue = namedParams.get( name );
      int columnSpan = typedValue.getType().getColumnSpan( getFactory() );
      int[] locs = getNamedParameterLocs( name );
      for ( int loc : locs ) {
        if ( DEBUG_ENABLED ) {
          LOG.debugf(
              "bindNamedParameters() %s -> %s [%s]",
              typedValue.getValue(),
              name,
              loc + startIndex
          );
        }
        int start = loc * columnSpan + startIndex;
        typedValue.getType().nullSafeSet( statement, typedValue.getValue(), start, session );
      }
      result += locs.length;
    }
    return result;
  }
View Full Code Here

 
  public FilterKey(String name, Map<String,?> params, Map<String,Type> types) {
    filterName = name;
    for ( Map.Entry<String, ?> paramEntry : params.entrySet() ) {
      Type type = types.get( paramEntry.getKey() );
      filterParameters.put( paramEntry.getKey(), new TypedValue( type, paramEntry.getValue() ) );
    }
  }
View Full Code Here

    else {
      namedParameters = CollectionHelper.mapOfSize( queryParameters.getNamedParameters().size() );
      for ( Map.Entry<String,TypedValue> namedParameterEntry : queryParameters.getNamedParameters().entrySet() ) {
        namedParameters.put(
            namedParameterEntry.getKey(),
            new TypedValue(
                namedParameterEntry.getValue().getType(),
                namedParameterEntry.getValue().getType().disassemble(
                    namedParameterEntry.getValue().getValue(),
                    session,
                    null
View Full Code Here

   *
   * @return The number of sql bind positions "eaten" by this bind operation.
   */
  public int bind(PreparedStatement statement, QueryParameters qp, SessionImplementor session, int position)
          throws SQLException {
    TypedValue typedValue = ( TypedValue ) qp.getNamedParameters().get( name );
    typedValue.getType().nullSafeSet( statement, typedValue.getValue(), position, session );
    return typedValue.getType().getColumnSpan( session.getFactory() );
  }
View Full Code Here

TOP

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

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.