Examples of DiscriminatorType


Examples of javax.persistence.DiscriminatorType

    if ( InheritanceType.SINGLE_TABLE.equals( inheritanceState.type ) ) {
      javax.persistence.DiscriminatorColumn discAnn = annotatedClass.getAnnotation(
          javax.persistence.DiscriminatorColumn.class
      );
      DiscriminatorType discriminatorType = discAnn != null ?
          discAnn.discriminatorType() :
          DiscriminatorType.STRING;

      org.hibernate.annotations.DiscriminatorFormula discFormulaAnn = annotatedClass.getAnnotation(
          org.hibernate.annotations.DiscriminatorFormula.class
View Full Code Here

Examples of javax.persistence.DiscriminatorType

  private static Ejb3DiscriminatorColumn processDiscriminatorProperties(XClass clazzToProcess, Mappings mappings, InheritanceState inheritanceState, EntityBinder entityBinder) {
    Ejb3DiscriminatorColumn discriminatorColumn = null;
    javax.persistence.DiscriminatorColumn discAnn = clazzToProcess.getAnnotation(
        javax.persistence.DiscriminatorColumn.class
    );
    DiscriminatorType discriminatorType = discAnn != null ?
        discAnn.discriminatorType() :
        DiscriminatorType.STRING;

    org.hibernate.annotations.DiscriminatorFormula discFormulaAnn = clazzToProcess.getAnnotation(
        org.hibernate.annotations.DiscriminatorFormula.class
View Full Code Here

Examples of javax.persistence.DiscriminatorType

    if ( element != null ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( DiscriminatorColumn.class );
      copyStringAttribute( ad, element, "name", false );
      copyStringAttribute( ad, element, "column-definition", false );
      String value = element.attributeValue( "discriminator-type" );
      DiscriminatorType type = DiscriminatorType.STRING;
      if ( value != null ) {
        if ( "STRING".equals( value ) ) {
          type = DiscriminatorType.STRING;
        }
        else if ( "CHAR".equals( value ) ) {
View Full Code Here

Examples of javax.persistence.DiscriminatorType

    if ( InheritanceType.SINGLE_TABLE.equals( inheritanceState.type ) ) {
      javax.persistence.DiscriminatorColumn discAnn = annotatedClass.getAnnotation(
          javax.persistence.DiscriminatorColumn.class
      );
      DiscriminatorType discriminatorType = discAnn != null ?
          discAnn.discriminatorType() :
          DiscriminatorType.STRING;

      org.hibernate.annotations.DiscriminatorFormula discFormulaAnn = annotatedClass.getAnnotation(
          org.hibernate.annotations.DiscriminatorFormula.class
View Full Code Here

Examples of javax.persistence.DiscriminatorType

  private static Ejb3DiscriminatorColumn processDiscriminatorProperties(XClass clazzToProcess, Mappings mappings, InheritanceState inheritanceState, EntityBinder entityBinder) {
    Ejb3DiscriminatorColumn discriminatorColumn = null;
    javax.persistence.DiscriminatorColumn discAnn = clazzToProcess.getAnnotation(
        javax.persistence.DiscriminatorColumn.class
    );
    DiscriminatorType discriminatorType = discAnn != null ?
        discAnn.discriminatorType() :
        DiscriminatorType.STRING;

    org.hibernate.annotations.DiscriminatorFormula discFormulaAnn = clazzToProcess.getAnnotation(
        org.hibernate.annotations.DiscriminatorFormula.class
View Full Code Here

Examples of javax.persistence.DiscriminatorType

    String discrimValue = null;
    if ( InheritanceType.SINGLE_TABLE.equals( inheritanceState.getType() ) ) {
      javax.persistence.DiscriminatorColumn discAnn = clazzToProcess.getAnnotation(
          javax.persistence.DiscriminatorColumn.class
      );
      DiscriminatorType discriminatorType = discAnn != null ?
          discAnn.discriminatorType() :
          DiscriminatorType.STRING;

      org.hibernate.annotations.DiscriminatorFormula discFormulaAnn = clazzToProcess.getAnnotation(
          org.hibernate.annotations.DiscriminatorFormula.class
View Full Code Here

Examples of javax.persistence.DiscriminatorType

    String discrimValue = null;
    if ( InheritanceType.SINGLE_TABLE.equals( inheritanceState.getType() ) ) {
      javax.persistence.DiscriminatorColumn discAnn = clazzToProcess.getAnnotation(
          javax.persistence.DiscriminatorColumn.class
      );
      DiscriminatorType discriminatorType = discAnn != null ?
          discAnn.discriminatorType() :
          DiscriminatorType.STRING;

      org.hibernate.annotations.DiscriminatorFormula discFormulaAnn = clazzToProcess.getAnnotation(
          org.hibernate.annotations.DiscriminatorFormula.class
View Full Code Here

Examples of javax.persistence.DiscriminatorType

    if ( element != null ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( DiscriminatorColumn.class );
      copyStringAttribute( ad, element, "name", false );
      copyStringAttribute( ad, element, "column-definition", false );
      String value = element.attributeValue( "discriminator-type" );
      DiscriminatorType type = DiscriminatorType.STRING;
      if ( value != null ) {
        if ( "STRING".equals( value ) ) {
          type = DiscriminatorType.STRING;
        }
        else if ( "CHAR".equals( value ) ) {
View Full Code Here

Examples of org.hibernate.type.DiscriminatorType

        discriminatorInsertable = false;
      }
      else {
        discriminatorInsertable = persistentClass.isDiscriminatorInsertable() && !discrimValue.hasFormula();
        try {
          DiscriminatorType dtype = (DiscriminatorType) discriminatorType;
          discriminatorValue = dtype.stringToObject( persistentClass.getDiscriminatorValue() );
          discriminatorSQLValue = dtype.objectToSQLString( discriminatorValue, factory.getDialect() );
        }
        catch (ClassCastException cce) {
          throw new MappingException("Illegal discriminator type: " + discriminatorType.getName() );
        }
        catch (Exception e) {
          throw new MappingException("Could not format discriminator value to SQL string", e);
        }
      }
    }
    else {
      forceDiscriminator = false;
      discriminatorInsertable = false;
      discriminatorColumnName = null;
      discriminatorAlias = null;
      discriminatorType = null;
      discriminatorValue = null;
      discriminatorSQLValue = null;
      discriminatorFormula = null;
      discriminatorFormulaTemplate = null;
    }

    // PROPERTIES

    propertyTableNumbers = new int[ getPropertySpan() ];
    Iterator iter = persistentClass.getPropertyClosureIterator();
    int i=0;
    while( iter.hasNext() ) {
      Property prop = (Property) iter.next();
      propertyTableNumbers[i++] = persistentClass.getJoinNumber(prop);

    }

    //TODO: code duplication with JoinedSubclassEntityPersister
   
    ArrayList columnJoinNumbers = new ArrayList();
    ArrayList formulaJoinedNumbers = new ArrayList();
    ArrayList propertyJoinNumbers = new ArrayList();
   
    iter = persistentClass.getSubclassPropertyClosureIterator();
    while ( iter.hasNext() ) {
      Property prop = (Property) iter.next();
      Integer join = new Integer( persistentClass.getJoinNumber(prop) );
      propertyJoinNumbers.add(join);

      //propertyTableNumbersByName.put( prop.getName(), join );
      propertyTableNumbersByNameAndSubclass.put(
          prop.getPersistentClass().getEntityName() + '.' + prop.getName(),
          join
      );

      Iterator citer = prop.getColumnIterator();
      while ( citer.hasNext() ) {
        Selectable thing = (Selectable) citer.next();
        if ( thing.isFormula() ) {
          formulaJoinedNumbers.add(join);
        }
        else {
          columnJoinNumbers.add(join);
        }
      }
    }
    subclassColumnTableNumberClosure = ArrayHelper.toIntArray(columnJoinNumbers);
    subclassFormulaTableNumberClosure = ArrayHelper.toIntArray(formulaJoinedNumbers);
    subclassPropertyTableNumberClosure = ArrayHelper.toIntArray(propertyJoinNumbers);

    int subclassSpan = persistentClass.getSubclassSpan() + 1;
    subclassClosure = new String[subclassSpan];
    subclassClosure[0] = getEntityName();
    if ( persistentClass.isPolymorphic() ) {
      subclassesByDiscriminatorValue.put( discriminatorValue, getEntityName() );
    }

    // SUBCLASSES
    if ( persistentClass.isPolymorphic() ) {
      iter = persistentClass.getSubclassIterator();
      int k=1;
      while ( iter.hasNext() ) {
        Subclass sc = (Subclass) iter.next();
        subclassClosure[k++] = sc.getEntityName();
        if ( sc.isDiscriminatorValueNull() ) {
          subclassesByDiscriminatorValue.put( NULL_DISCRIMINATOR, sc.getEntityName() );
        }
        else if ( sc.isDiscriminatorValueNotNull() ) {
          subclassesByDiscriminatorValue.put( NOT_NULL_DISCRIMINATOR, sc.getEntityName() );
        }
        else {
          try {
            DiscriminatorType dtype = (DiscriminatorType) discriminatorType;
            subclassesByDiscriminatorValue.put(
              dtype.stringToObject( sc.getDiscriminatorValue() ),
              sc.getEntityName()
            );
          }
          catch (ClassCastException cce) {
            throw new MappingException("Illegal discriminator type: " + discriminatorType.getName() );
View Full Code Here

Examples of org.hibernate.type.DiscriminatorType

        discriminatorInsertable = false;
      }
      else {
        discriminatorInsertable = persistentClass.isDiscriminatorInsertable() && !discrimValue.hasFormula();
        try {
          DiscriminatorType dtype = (DiscriminatorType) discriminatorType;
          discriminatorValue = dtype.stringToObject( persistentClass.getDiscriminatorValue() );
          discriminatorSQLValue = dtype.objectToSQLString( discriminatorValue, factory.getDialect() );
        }
        catch (ClassCastException cce) {
          throw new MappingException("Illegal discriminator type: " + discriminatorType.getName() );
        }
        catch (Exception e) {
          throw new MappingException("Could not format discriminator value to SQL string", e);
        }
      }
    }
    else {
      forceDiscriminator = false;
      discriminatorInsertable = false;
      discriminatorColumnName = null;
      discriminatorColumnReaders = null;
      discriminatorColumnReaderTemplate = null;
      discriminatorAlias = null;
      discriminatorType = null;
      discriminatorValue = null;
      discriminatorSQLValue = null;
      discriminatorFormula = null;
      discriminatorFormulaTemplate = null;
    }

    // PROPERTIES

    propertyTableNumbers = new int[ getPropertySpan() ];
    Iterator iter = persistentClass.getPropertyClosureIterator();
    int i=0;
    while( iter.hasNext() ) {
      Property prop = (Property) iter.next();
      propertyTableNumbers[i++] = persistentClass.getJoinNumber(prop);

    }

    //TODO: code duplication with JoinedSubclassEntityPersister
   
    ArrayList columnJoinNumbers = new ArrayList();
    ArrayList formulaJoinedNumbers = new ArrayList();
    ArrayList propertyJoinNumbers = new ArrayList();
   
    iter = persistentClass.getSubclassPropertyClosureIterator();
    while ( iter.hasNext() ) {
      Property prop = (Property) iter.next();
      Integer join = new Integer( persistentClass.getJoinNumber(prop) );
      propertyJoinNumbers.add(join);

      //propertyTableNumbersByName.put( prop.getName(), join );
      propertyTableNumbersByNameAndSubclass.put(
          prop.getPersistentClass().getEntityName() + '.' + prop.getName(),
          join
      );

      Iterator citer = prop.getColumnIterator();
      while ( citer.hasNext() ) {
        Selectable thing = (Selectable) citer.next();
        if ( thing.isFormula() ) {
          formulaJoinedNumbers.add(join);
        }
        else {
          columnJoinNumbers.add(join);
        }
      }
    }
    subclassColumnTableNumberClosure = ArrayHelper.toIntArray(columnJoinNumbers);
    subclassFormulaTableNumberClosure = ArrayHelper.toIntArray(formulaJoinedNumbers);
    subclassPropertyTableNumberClosure = ArrayHelper.toIntArray(propertyJoinNumbers);

    int subclassSpan = persistentClass.getSubclassSpan() + 1;
    subclassClosure = new String[subclassSpan];
    subclassClosure[0] = getEntityName();
    if ( persistentClass.isPolymorphic() ) {
      subclassesByDiscriminatorValue.put( discriminatorValue, getEntityName() );
    }

    // SUBCLASSES
    if ( persistentClass.isPolymorphic() ) {
      iter = persistentClass.getSubclassIterator();
      int k=1;
      while ( iter.hasNext() ) {
        Subclass sc = (Subclass) iter.next();
        subclassClosure[k++] = sc.getEntityName();
        if ( sc.isDiscriminatorValueNull() ) {
          subclassesByDiscriminatorValue.put( NULL_DISCRIMINATOR, sc.getEntityName() );
        }
        else if ( sc.isDiscriminatorValueNotNull() ) {
          subclassesByDiscriminatorValue.put( NOT_NULL_DISCRIMINATOR, sc.getEntityName() );
        }
        else {
          try {
            DiscriminatorType dtype = (DiscriminatorType) discriminatorType;
            subclassesByDiscriminatorValue.put(
              dtype.stringToObject( sc.getDiscriminatorValue() ),
              sc.getEntityName()
            );
          }
          catch (ClassCastException cce) {
            throw new MappingException("Illegal discriminator type: " + discriminatorType.getName() );
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.