Package org.hibernate.mapping

Examples of org.hibernate.mapping.IdGenerator


    Map defaults = mappings.getReflectionManager().getDefaults();
    {
      List<SequenceGenerator> anns = (List<SequenceGenerator>) defaults.get( SequenceGenerator.class );
      if ( anns != null ) {
        for (SequenceGenerator ann : anns) {
          IdGenerator idGen = buildIdGenerator( ann, mappings );
          if ( idGen != null ) mappings.addDefaultGenerator( idGen );
        }
      }
    }
    {
      List<TableGenerator> anns = (List<TableGenerator>) defaults.get( TableGenerator.class );
      if ( anns != null ) {
        for (TableGenerator ann : anns) {
          IdGenerator idGen = buildIdGenerator( ann, mappings );
          if ( idGen != null ) mappings.addDefaultGenerator( idGen );
        }
      }
    }
    {
View Full Code Here


      log.warn( "Package not found or wo package-info.java: {}", packageName );
      return;
    }
    if ( pckg.isAnnotationPresent( SequenceGenerator.class ) ) {
      SequenceGenerator ann = pckg.getAnnotation( SequenceGenerator.class );
      IdGenerator idGen = buildIdGenerator( ann, mappings );
      mappings.addGenerator( idGen );
      log.debug( "Add sequence generator with name: {}", idGen.getName() );
    }
    if ( pckg.isAnnotationPresent( TableGenerator.class ) ) {
      TableGenerator ann = pckg.getAnnotation( TableGenerator.class );
      IdGenerator idGen = buildIdGenerator( ann, mappings );
      mappings.addGenerator( idGen );

    }
    bindGenericGenerators(pckg, mappings);
    bindQueries( pckg, mappings );
View Full Code Here

      }
    }
  }

  private static void bindGenericGenerator(GenericGenerator def, ExtendedMappings mappings) {
    IdGenerator idGen = buildIdGenerator( def, mappings );
    mappings.addGenerator( idGen );
  }
View Full Code Here

      QueryBinder.bindNativeQueries( ann, mappings );
    }
  }

  private static IdGenerator buildIdGenerator(java.lang.annotation.Annotation ann, Mappings mappings) {
    IdGenerator idGen = new IdGenerator();
    if ( mappings.getSchemaName() != null ) {
      idGen.addParam( PersistentIdentifierGenerator.SCHEMA, mappings.getSchemaName() );
    }
    if ( mappings.getCatalogName() != null ) {
      idGen.addParam( PersistentIdentifierGenerator.CATALOG, mappings.getCatalogName() );
    }
    if ( ann == null ) {
      idGen = null;
    }
    else if ( ann instanceof TableGenerator ) {
      TableGenerator tabGen = (TableGenerator) ann;
      idGen.setName( tabGen.name() );
      idGen.setIdentifierGeneratorStrategy( MultipleHiLoPerTableGenerator.class.getName() );

      if ( !BinderHelper.isDefault( tabGen.table() ) ) {
        idGen.addParam( MultipleHiLoPerTableGenerator.ID_TABLE, tabGen.table() );
      }
      if ( !BinderHelper.isDefault( tabGen.catalog() ) ) {
        idGen.addParam( MultipleHiLoPerTableGenerator.CATALOG, tabGen.catalog() );
      }
      if ( !BinderHelper.isDefault( tabGen.schema() ) ) {
        idGen.addParam( MultipleHiLoPerTableGenerator.SCHEMA, tabGen.schema() );
      }
      //FIXME implements uniqueconstrains

      if ( !BinderHelper.isDefault( tabGen.pkColumnName() ) ) {
        idGen.addParam( MultipleHiLoPerTableGenerator.PK_COLUMN_NAME, tabGen.pkColumnName() );
      }
      if ( !BinderHelper.isDefault( tabGen.valueColumnName() ) ) {
        idGen.addParam( MultipleHiLoPerTableGenerator.VALUE_COLUMN_NAME, tabGen.valueColumnName() );
      }
      if ( !BinderHelper.isDefault( tabGen.pkColumnValue() ) ) {
        idGen.addParam( MultipleHiLoPerTableGenerator.PK_VALUE_NAME, tabGen.pkColumnValue() );
      }
      idGen.addParam( TableHiLoGenerator.MAX_LO, String.valueOf( tabGen.allocationSize() - 1 ) );
      log.debug( "Add table generator with name: {}", idGen.getName() );
    }
    else if ( ann instanceof SequenceGenerator ) {
      SequenceGenerator seqGen = (SequenceGenerator) ann;
      idGen.setName( seqGen.name() );
      idGen.setIdentifierGeneratorStrategy( "seqhilo" );

      if ( !BinderHelper.isDefault( seqGen.sequenceName() ) ) {
        idGen.addParam( org.hibernate.id.SequenceGenerator.SEQUENCE, seqGen.sequenceName() );
      }
      //FIXME: work on initialValue() through SequenceGenerator.PARAMETERS
      if ( seqGen.initialValue() != 1 ) {
        log.warn(
            "Hibernate does not support SequenceGenerator.initialValue()"
        );
      }
      idGen.addParam( SequenceHiLoGenerator.MAX_LO, String.valueOf( seqGen.allocationSize() - 1 ) );
      log.debug( "Add sequence generator with name: {}", idGen.getName() );
    }
    else if ( ann instanceof GenericGenerator ) {
      GenericGenerator genGen = (GenericGenerator) ann;
      idGen.setName( genGen.name() );
      idGen.setIdentifierGeneratorStrategy( genGen.strategy() );
      Parameter[] params = genGen.parameters();
      for (Parameter parameter : params) {
        idGen.addParam( parameter.name(), parameter.value() );
      }
      log.debug( "Add generic generator with name: {}", idGen.getName() );
    }
    else {
      throw new AssertionFailure( "Unknown Generator annotation: " + ann );
    }
    return idGen;
View Full Code Here

    HashMap<String, IdGenerator> generators = new HashMap<String, IdGenerator>();
    TableGenerator tabGen = annElt.getAnnotation( TableGenerator.class );
    SequenceGenerator seqGen = annElt.getAnnotation( SequenceGenerator.class );
    GenericGenerator genGen = annElt.getAnnotation( GenericGenerator.class );
    if ( tabGen != null ) {
      IdGenerator idGen = buildIdGenerator( tabGen, mappings );
      generators.put( idGen.getName(), idGen );
    }
    if ( seqGen != null ) {
      IdGenerator idGen = buildIdGenerator( seqGen, mappings );
      generators.put( idGen.getName(), idGen );
    }
    if ( genGen != null ) {
      IdGenerator idGen = buildIdGenerator( genGen, mappings );
      generators.put( idGen.getName(), idGen );
    }
    return generators;
  }
View Full Code Here

      return getGenerator( name, null );
    }

    public IdGenerator getGenerator(String name, Map<String, IdGenerator> localGenerators) {
      if ( localGenerators != null ) {
        IdGenerator result = localGenerators.get( name );
        if ( result != null ) {
          return result;
        }
      }
      return namedGenerators.get( name );
View Full Code Here

      return namedGenerators.get( name );
    }

    public void addGenerator(IdGenerator generator) {
      if ( !defaultNamedGenerators.contains( generator.getName() ) ) {
        IdGenerator old = namedGenerators.put( generator.getName(), generator );
                if (old != null) LOG.duplicateGeneratorName(old.getName());
      }
    }
View Full Code Here

    Map defaults = mappings.getReflectionManager().getDefaults();
    {
      List<SequenceGenerator> anns = ( List<SequenceGenerator> ) defaults.get( SequenceGenerator.class );
      if ( anns != null ) {
        for ( SequenceGenerator ann : anns ) {
          IdGenerator idGen = buildIdGenerator( ann, mappings );
          if ( idGen != null ) {
            mappings.addDefaultGenerator( idGen );
          }
        }
      }
    }
    {
      List<TableGenerator> anns = ( List<TableGenerator> ) defaults.get( TableGenerator.class );
      if ( anns != null ) {
        for ( TableGenerator ann : anns ) {
          IdGenerator idGen = buildIdGenerator( ann, mappings );
          if ( idGen != null ) {
            mappings.addDefaultGenerator( idGen );
          }
        }
      }
View Full Code Here

            LOG.packageNotFound(packageName);
      return;
    }
    if ( pckg.isAnnotationPresent( SequenceGenerator.class ) ) {
      SequenceGenerator ann = pckg.getAnnotation( SequenceGenerator.class );
      IdGenerator idGen = buildIdGenerator( ann, mappings );
      mappings.addGenerator( idGen );
            LOG.trace("Add sequence generator with name: " + idGen.getName());
    }
    if ( pckg.isAnnotationPresent( TableGenerator.class ) ) {
      TableGenerator ann = pckg.getAnnotation( TableGenerator.class );
      IdGenerator idGen = buildIdGenerator( ann, mappings );
      mappings.addGenerator( idGen );

    }
    bindGenericGenerators( pckg, mappings );
    bindQueries( pckg, mappings );
View Full Code Here

      }
    }
  }

  private static void bindGenericGenerator(GenericGenerator def, Mappings mappings) {
    IdGenerator idGen = buildIdGenerator( def, mappings );
    mappings.addGenerator( idGen );
  }
View Full Code Here

TOP

Related Classes of org.hibernate.mapping.IdGenerator

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.