Package org.hibernate.type

Examples of org.hibernate.type.EntityType


      throw new IdentifierGenerationException(
          "attempted to assign id from null one-to-one property [" + getRole() + "]"
      );
    }

    final EntityType foreignValueSourceType;
    final Type propertyType = persister.getPropertyType( propertyName );
    if ( propertyType.isEntityType() ) {
      // the normal case
      foreignValueSourceType = (EntityType) propertyType;
    }
    else {
      // try identifier mapper
      foreignValueSourceType = (EntityType) persister.getPropertyType( "_identifierMapper." + propertyName );
    }

    Serializable id;
    try {
      id = ForeignKeys.getEntityIdentifierIfNotUnsaved(
          foreignValueSourceType.getAssociatedEntityName(),
          associatedObject,
          sessionImplementor
      );
    }
    catch (TransientObjectException toe) {
      id = session.save( foreignValueSourceType.getAssociatedEntityName(), associatedObject );
    }

    if ( session.contains(object) ) {
      //abort the save (the object is already saved by a circular cascade)
      return IdentifierGeneratorHelper.SHORT_CIRCUIT_INDICATOR;
View Full Code Here


      if ( element.isFetch() ) {
        if ( element.isCollectionJoin() || element.getQueryableCollection() != null ) {
          // This is now handled earlier in this method.
        }
        else if ( element.getDataType().isEntityType() ) {
          EntityType entityType = ( EntityType ) element.getDataType();
          if ( entityType.isOneToOne() ) {
            owners[i] = fromElementList.indexOf( element.getOrigin() );
          }
          ownerAssociationTypes[i] = entityType;
        }
      }
View Full Code Here

      if (config==FetchMode.JOIN) return true;
      if (config==FetchMode.SELECT) return false;
      if ( type.isEntityType() ) {
        //TODO: look at the owning property and check that it
        //      isn't lazy (by instrumentation)
        EntityType entityType =(EntityType) type;
        EntityPersister persister = getFactory().getEntityPersister( entityType.getAssociatedEntityName() );
        return !persister.hasProxy();
      }
      else {
        return false;
      }
View Full Code Here

  private void determineKeySelectExpressions(QueryableCollection collectionPersister, List selections) {
    AliasGenerator aliasGenerator = new LocalAliasGenerator( 0 );
    appendSelectExpressions( collectionPersister.getIndexColumnNames(), selections, aliasGenerator );
    Type keyType = collectionPersister.getIndexType();
    if ( keyType.isAssociationType() ) {
      EntityType entityType = (EntityType) keyType;
      Queryable keyEntityPersister = ( Queryable ) sfi().getEntityPersister(
          entityType.getAssociatedEntityName( sfi() )
      );
      SelectFragment fragment = keyEntityPersister.propertySelectFragmentFragment(
          collectionTableAlias(),
          null,
          false
View Full Code Here

  private void determineValueSelectExpressions(QueryableCollection collectionPersister, List selections) {
    AliasGenerator aliasGenerator = new LocalAliasGenerator( 1 );
    appendSelectExpressions( collectionPersister.getElementColumnNames(), selections, aliasGenerator );
    Type valueType = collectionPersister.getElementType();
    if ( valueType.isAssociationType() ) {
      EntityType valueEntityType = (EntityType) valueType;
      Queryable valueEntityPersister = ( Queryable ) sfi().getEntityPersister(
          valueEntityType.getAssociatedEntityName( sfi() )
      );
      SelectFragment fragment = valueEntityPersister.propertySelectFragmentFragment(
          elementTableAlias(),
          null,
          false
View Full Code Here

    return rhsAlias;
  }

  private boolean isOneToOne() {
    if ( joinableType.isEntityType() )  {
      EntityType etype = (EntityType) joinableType;
      return etype.isOneToOne() /*&& etype.isReferenceToPrimaryKey()*/;
    }
    else {
      return false;
    }
  }
View Full Code Here

      NonNullableTransientDependencies nonNullableTransientEntities) {
    if ( value == null ) {
      return; // EARLY RETURN
    }
    if ( type.isEntityType()  ) {
      EntityType entityType = (EntityType) type;
      if ( ! isNullable &&
          ! entityType.isOneToOne() &&
          nullifier.isNullifiable( entityType.getAssociatedEntityName(), value ) ) {
        nonNullableTransientEntities.add( propertyName, value );
      }
    }
    else if ( type.isAnyType() ) {
      if ( ! isNullable &&
View Full Code Here

    throws HibernateException {
      if ( value == null ) {
        return null;
      }
      else if ( type.isEntityType() ) {
        EntityType entityType = (EntityType) type;
        if ( entityType.isOneToOne() ) {
          return value;
        }
        else {
          String entityName = entityType.getAssociatedEntityName();
          return isNullifiable(entityName, value) ? null : value;
        }
      }
      else if ( type.isAnyType() ) {
        return isNullifiable(null, value) ? null : value;
View Full Code Here

        NonScalarReturn ownerDescriptor = fetchRtn.getOwner();
        int ownerIndex = nonScalarReturnList.indexOf( ownerDescriptor );
        entityOwners.add( ownerIndex );
        lockModes.add( fetchRtn.getLockMode() );
        Queryable ownerPersister = determineAppropriateOwnerPersister( ownerDescriptor );
        EntityType fetchedType = ( EntityType ) ownerPersister.getPropertyType( fetchRtn.getOwnerProperty() );
        String entityName = fetchedType.getAssociatedEntityName( getFactory() );
        Queryable persister = ( Queryable ) factory.getEntityPersister( entityName );
        entityPersisters.add( persister );
        nonScalarReturnList.add( rtn );
        specifiedAliases.add( fetchRtn.getAlias() );
        entityAliases.add( fetchRtn.getEntityAliases() );
View Full Code Here

    }
    else if ( ownerDescriptor instanceof CollectionReturn ) {
      CollectionReturn collRtn = ( CollectionReturn ) ownerDescriptor;
      String role = collRtn.getOwnerEntityName() + "." + collRtn.getOwnerProperty();
      CollectionPersister persister = getFactory().getCollectionPersister( role );
      EntityType ownerType = ( EntityType ) persister.getElementType();
      entityName = ownerType.getAssociatedEntityName( getFactory() );
    }
    else if ( ownerDescriptor instanceof FetchReturn ) {
      FetchReturn fetchRtn = ( FetchReturn ) ownerDescriptor;
      Queryable persister = determineAppropriateOwnerPersister( fetchRtn.getOwner() );
      Type ownerType = persister.getPropertyType( fetchRtn.getOwnerProperty() );
      if ( ownerType.isEntityType() ) {
        entityName = ( ( EntityType ) ownerType ).getAssociatedEntityName( getFactory() );
      }
      else if ( ownerType.isCollectionType() ) {
        Type ownerCollectionElementType = ( ( CollectionType ) ownerType ).getElementType( getFactory() );
        if ( ownerCollectionElementType.isEntityType() ) {
          entityName = ( ( EntityType ) ownerCollectionElementType ).getAssociatedEntityName( getFactory() );
        }
      }
View Full Code Here

TOP

Related Classes of org.hibernate.type.EntityType

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.