Package org.hibernate.type

Examples of org.hibernate.type.Type


      SessionImplementor session)
  throws HibernateException {

    if ( object!=null && ForeignKeys.isNotTransient(entityName, object, null, session) ) {
     
      Type idType = session.getFactory().getEntityPersister(entityName).getIdentifierType();

      Serializable idOfCurrent = ForeignKeys.getEntityIdentifierIfNotUnsaved(entityName, object, session);
      Iterator iter = list.iterator();
      while ( iter.hasNext() ) {
        Serializable idOfOld = ForeignKeys.getEntityIdentifierIfNotUnsaved(entityName, iter.next(), session);
        if ( idType.isEqual( idOfCurrent, idOfOld, session.getEntityMode(), session.getFactory() ) ) {
          iter.remove();
          break;
        }
      }
View Full Code Here


  public boolean entryExists(Object entry, int i) {
    return entry!=null;
  }

  public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException {
    Type elementType = persister.getElementType();
    Map snap = (Map) getSnapshot();
    if ( snap.size()!= values.size() ) return false;
    for ( int i=0; i<values.size(); i++ ) {
      Object value = values.get(i);
      Object id = identifiers.get( new Integer(i) );
      if (id==null) return false;
      Object old = snap.get(id);
      if ( elementType.isDirty( old, value, getSession() ) ) return false;
    }
    return true;
  }
View Full Code Here

    java.util.Map sn = (java.util.Map) snapshot;
    return getOrphans( sn.keySet(), set, entityName, getSession() );
  }

  public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException {
    Type elementType = persister.getElementType();
    java.util.Map sn = (java.util.Map) getSnapshot();
    if ( sn.size()!=set.size() ) {
      return false;
    }
    else {
      Iterator iter = set.iterator();
      while ( iter.hasNext() ) {
        Object test = iter.next();
        Object oldValue = sn.get(test);
        if ( oldValue==null || elementType.isDirty( oldValue, test, getSession() ) ) return false;
      }
      return true;
    }
  }
View Full Code Here

    return result;

  }

  public Iterator getDeletes(CollectionPersister persister, boolean indexIsFormula) throws HibernateException {
    Type elementType = persister.getElementType();
    final java.util.Map sn = (java.util.Map) getSnapshot();
    ArrayList deletes = new ArrayList( sn.size() );
    Iterator iter = sn.keySet().iterator();
    while ( iter.hasNext() ) {
      Object test = iter.next();
      if ( !set.contains(test) ) {
        // the element has been removed from the set
        deletes.add(test);
      }
    }
    iter = set.iterator();
    while ( iter.hasNext() ) {
      Object test = iter.next();
      Object oldValue = sn.get(test);
      if ( oldValue!=null && elementType.isDirty( test, oldValue, getSession() ) ) {
        // the element has changed
        deletes.add(oldValue);
      }
    }
    return deletes.iterator();
View Full Code Here

    Queryable persister = ( Queryable ) sessionFactory.getEntityPersister( rootEntityName );
    StringTokenizer tokens = new StringTokenizer( path, "." );
    String componentPath = "";
    while ( tokens.hasMoreTokens() ) {
      componentPath += tokens.nextToken();
      Type type = persister.toType( componentPath );
      if ( type.isAssociationType() ) {
        AssociationType atype = ( AssociationType ) type;
        persister = ( Queryable ) sessionFactory.getEntityPersister(
            atype.getAssociatedEntityName( sessionFactory )
        );
        componentPath = "";
      }
      else if ( type.isComponentType() ) {
        componentPath += '.';
      }
      else {
        throw new QueryException( "not an association: " + componentPath );
      }
View Full Code Here

    // Detect discriminator values...
    if ( value instanceof Class ) {
      Class entityClass = ( Class ) value;
      Queryable q = SessionFactoryHelper.findQueryableUsingImports( sessionFactory, entityClass.getName() );
      if ( q != null ) {
        Type type = q.getDiscriminatorType();
        String stringValue = q.getDiscriminatorSQLValue();
        // Convert the string value into the proper type.
        if ( type instanceof NullableType ) {
          NullableType nullableType = ( NullableType ) type;
          value = nullableType.fromStringValue( stringValue );
View Full Code Here

      Type[] propertyTypes = action.getPersister().getClassMetadata()
          .getPropertyTypes();

      for ( int i = 0; i < propertyValues.length; i++ ) {
        Object value = propertyValues[i];
        Type type = propertyTypes[i];
        if ( type.isEntityType() && value != null ) {
          // find the batch number associated with the current association, if any.
          Integer associationBatchNumber = ( Integer ) entityBatchNumber.get( value );
          if ( associationBatchNumber != null && associationBatchNumber.compareTo( latestBatchNumberForType ) > 0 ) {
            // create a new batch for this type. The batch number is the number of current batches.
            latestBatchNumberForType = new Integer( actionBatches.size() );
View Full Code Here

      while ( tokens.hasMoreTokens() ) {
        final String token = tokens.nextToken();
        if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
          String filterParameterName = token.substring( 1 );
          Object value = session.getFilterParameterValue( filterParameterName );
          Type type = session.getFilterParameterType( filterParameterName );
          if ( value != null && Collection.class.isAssignableFrom( value.getClass() ) ) {
            Iterator itr = ( ( Collection ) value ).iterator();
            while ( itr.hasNext() ) {
              Object elementValue = itr.next();
              result.append( '?' );
View Full Code Here

    List sn = (List) snapshot;
      return getOrphans( sn, list, entityName, getSession() );
  }

  public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException {
    Type elementType = persister.getElementType();
    List sn = (List) getSnapshot();
    if ( sn.size()!=this.list.size() ) return false;
    Iterator iter = list.iterator();
    Iterator sniter = sn.iterator();
    while ( iter.hasNext() ) {
      if ( elementType.isDirty( iter.next(), sniter.next(), getSession() ) ) return false;
    }
    return true;
  }
View Full Code Here

      NativeSQLQueryNonScalarReturn ownerReturn = ( NativeSQLQueryNonScalarReturn ) alias2Return.get(ownerAlias);
      processReturn( ownerReturn );
    }

    SQLLoadable ownerPersister = ( SQLLoadable ) alias2Persister.get( ownerAlias );
    Type returnType = ownerPersister.getPropertyType( fetchReturn.getOwnerProperty() );

    if ( returnType.isCollectionType() ) {
      String role = ownerPersister.getEntityName() + '.' + fetchReturn.getOwnerProperty();
      addCollection( role, alias, fetchReturn.getPropertyResultsMap() );
//      collectionOwnerAliases.add( ownerAlias );
    }
    else if ( returnType.isEntityType() ) {
      EntityType eType = ( EntityType ) returnType;
      String returnEntityName = eType.getAssociatedEntityName();
      SQLLoadable persister = getSQLLoadable( returnEntityName );
      addPersister( alias, fetchReturn.getPropertyResultsMap(), persister );
    }
View Full Code Here

TOP

Related Classes of org.hibernate.type.Type

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.