Package org.hibernate.type

Examples of org.hibernate.type.CompositeType


                    joinable.getTableName(),
                    getRHSColumnNames( aType, sessionFactory() )
                );
              }

              final CompositeType cType = getType();
              final boolean nullable =
                  cType.getPropertyNullability() == null ||
                      cType.getPropertyNullability()[subAttributeNumber];

              return new CompositeBasedAssociationAttribute(
                  AbstractCompositionAttribute.this,
                  sessionFactory(),
                  attributeNumber(),
                  name,
                  (AssociationType) type,
                  new BaselineAttributeInformation.Builder()
                      .setInsertable( AbstractCompositionAttribute.this.isInsertable() )
                      .setUpdateable( AbstractCompositionAttribute.this.isUpdateable() )
                      // todo : handle nested ValueGeneration strategies...
                      //    disallow if our strategy != NEVER
                      .setNullable( nullable )
                      .setDirtyCheckable( true )
                      .setVersionable( AbstractCompositionAttribute.this.isVersionable() )
                      .setCascadeStyle( getType().getCascadeStyle( subAttributeNumber ) )
                      .setFetchMode( getType().getFetchMode( subAttributeNumber ) )
                      .createInformation(),
                  subAttributeNumber,
                  associationKey
              );
            }
            else if ( type.isComponentType() ) {
              return new CompositionBasedCompositionAttribute(
                  AbstractCompositionAttribute.this,
                  sessionFactory(),
                  attributeNumber(),
                  name,
                  (CompositeType) type,
                  columnPosition,
                  new BaselineAttributeInformation.Builder()
                      .setInsertable( AbstractCompositionAttribute.this.isInsertable() )
                      .setUpdateable( AbstractCompositionAttribute.this.isUpdateable() )
                      // todo : handle nested ValueGeneration strategies...
                      //    disallow if our strategy != NEVER
                      .setNullable( getType().getPropertyNullability()[subAttributeNumber] )
                      .setDirtyCheckable( true )
                      .setVersionable( AbstractCompositionAttribute.this.isVersionable() )
                      .setCascadeStyle( getType().getCascadeStyle( subAttributeNumber ) )
                      .setFetchMode( getType().getFetchMode( subAttributeNumber ) )
                      .createInformation()
              );
            }
            else {
              final CompositeType cType = getType();
              final boolean nullable = cType.getPropertyNullability() == null || cType.getPropertyNullability()[subAttributeNumber];

              return new CompositeBasedBasicAttribute(
                  AbstractCompositionAttribute.this,
                  sessionFactory(),
                  subAttributeNumber,
View Full Code Here


    collectionPropertyColumnAliases.put( aliasName, columnAliases );
    collectionPropertyColumnNames.put( aliasName, columnNames );

    if ( type.isComponentType() ) {
      CompositeType ct = (CompositeType) type;
      String[] propertyNames = ct.getPropertyNames();
      for ( int i = 0; i < propertyNames.length; i++ ) {
        String name = propertyNames[i];
        collectionPropertyColumnAliases.put( aliasName + "." + name, columnAliases[i] );
        collectionPropertyColumnNames.put( aliasName + "." + name, columnNames[i] );
      }
View Full Code Here

    }

    // aliases for composite-id's
    if ( getIdentifierType().isComponentType() ) {
      // Fetch embedded identifiers propertynames from the "virtual" identifier component
      CompositeType componentId = ( CompositeType ) getIdentifierType();
      String[] idPropertyNames = componentId.getPropertyNames();
      String[] idAliases = getIdentifierAliases();
      String[] idColumnNames = getIdentifierColumnNames();

      for ( int i = 0; i < idPropertyNames.length; i++ ) {
        if ( entityMetamodel.hasNonIdentifierPropertyNamedId() ) {
View Full Code Here

    }

    // aliases for composite-id's
    if ( getIdentifierType().isComponentType() ) {
      // Fetch embedded identifiers propertynames from the "virtual" identifier component
      CompositeType componentId = ( CompositeType ) getIdentifierType();
      String[] idPropertyNames = componentId.getPropertyNames();
      String[] idAliases = getIdentifierAliases();
      String[] idColumnNames = getIdentifierColumnNames();

      for ( int i = 0; i < idPropertyNames.length; i++ ) {
        if ( entityMetamodel.hasNonIdentifierPropertyNamedId() ) {
View Full Code Here

      CollectionType collectionType = (CollectionType) propertyType;
      Type collectionElementType = collectionType.getElementType( session.getFactory() );
      if ( collectionElementType.isComponentType() ) {
        //check for all components values in the collection

        CompositeType componentType = (CompositeType) collectionElementType;
        Iterator iter = CascadingAction.getLoadedElementsIterator(session, collectionType, value);
        while ( iter.hasNext() ) {
          Object compValue = iter.next();
          if (compValue != null) {
            return checkComponentNullability(compValue, componentType);
View Full Code Here

      }
      else if ( type.isAnyType() ) {
        return isNullifiable(null, value) ? null : value;
      }
      else if ( type.isComponentType() ) {
        CompositeType actype = (CompositeType) type;
        Object[] subvalues = actype.getPropertyValues(value, session);
        Type[] subtypes = actype.getSubtypes();
        boolean substitute = false;
        for ( int i = 0; i < subvalues.length; i++ ) {
          Object replacement = nullifyTransientReferences( subvalues[i], subtypes[i] );
          if ( replacement != subvalues[i] ) {
            substitute = true;
            subvalues[i] = replacement;
          }
        }
        if (substitute) actype.setPropertyValues( value, subvalues, session.getEntityMode() );
        return value;
      }
      else {
        return value;
      }
View Full Code Here

   * {@inheritDoc}
   */
  public void setIdentifier(Object entity, Serializable id, SessionImplementor session) {
    if ( entityMetamodel.getIdentifierProperty().isEmbedded() ) {
      if ( entity != id ) {
        CompositeType copier = (CompositeType) entityMetamodel.getIdentifierProperty().getType();
        copier.setPropertyValues( entity, copier.getPropertyValues( id, getEntityMode() ), getEntityMode() );
      }
    }
    else if ( idSetter != null ) {
      idSetter.set( entity, id, getFactory() );
    }
View Full Code Here

    for ( int i = 0; i < types.length; i++ ) {
      if ( types[i].isCollectionType() ) {
        factory.evictCollection( ( (CollectionType) types[i] ).getRole(), id );
      }
      else if ( types[i].isComponentType() ) {
        CompositeType actype = (CompositeType) types[i];
        evictCachedCollections( actype.getSubtypes(), id, factory );
      }
    }
  }
View Full Code Here

    collectionPropertyColumnAliases.put(aliasName, columnAliases);
    collectionPropertyColumnNames.put(aliasName, columnNames);

    if( type.isComponentType() ) {
      CompositeType ct = (CompositeType) type;
      String[] propertyNames = ct.getPropertyNames();
      for (int i = 0; i < propertyNames.length; i++) {
        String name = propertyNames[i];
        collectionPropertyColumnAliases.put( aliasName + "." + name, columnAliases[i] );
        collectionPropertyColumnNames.put( aliasName + "." + name, columnNames[i] );
      }
View Full Code Here

    }

    // aliases for composite-id's
    if ( getIdentifierType().isComponentType() ) {
      // Fetch embedded identifiers propertynames from the "virtual" identifier component
      CompositeType componentId = ( CompositeType ) getIdentifierType();
      String[] idPropertyNames = componentId.getPropertyNames();
      String[] idAliases = getIdentifierAliases();
      String[] idColumnNames = getIdentifierColumnNames();

      for ( int i = 0; i < idPropertyNames.length; i++ ) {
        if ( entityMetamodel.hasNonIdentifierPropertyNamedId() ) {
View Full Code Here

TOP

Related Classes of org.hibernate.type.CompositeType

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.