protected DatabaseStructure buildSequenceStructure( Type type, Properties params, JdbcEnvironment jdbcEnvironment, QualifiedName sequenceName, int initialValue, int incrementSize) { return new SequenceStructure( jdbcEnvironment, sequenceName, initialValue, incrementSize, type.getReturnedClass() ); }
@Override public void registerExportables(Database database) { buildSequence( database ); this.sql = database.getJdbcEnvironment().getDialect().getSequenceNextValString( sequenceName ); }
@Override public String[] sqlCreateStrings(Dialect dialect) throws HibernateException { return dialect.getCreateSequenceStrings( sequenceName, initialValue, getSourceIncrementSize() ); }
int namespaceSize = 0; for ( Namespace namespace : database.getNamespaces() ) { final SequenceStructure sequenceStructure = new SequenceStructure( ssr.getService( JdbcEnvironment.class ), new QualifiedNameImpl( Integer.class ); sequenceStructure.registerExportables( database ); exportIdentifierSet.add( namespace.getSequences().iterator().next().getExportIdentifier() ); namespaceSize++;
protected DatabaseStructure buildSequenceStructure( JavaTypeDescriptor javaTypeDescriptor, Properties params, JdbcEnvironment jdbcEnvironment, QualifiedName sequenceName, int initialValue, int incrementSize) { return new SequenceStructure( jdbcEnvironment, sequenceName, initialValue, incrementSize, javaTypeDescriptor.getJavaType() ); }
protected void buildSequence(Database database) { final int sourceIncrementSize = getSourceIncrementSize(); final Namespace namespace = database.locateNamespace( logicalQualifiedSequenceName.getCatalogName(), logicalQualifiedSequenceName.getSchemaName() ); Sequence sequence = namespace.locateSequence( logicalQualifiedSequenceName.getObjectName() ); if ( sequence != null ) { sequence.validate( initialValue, sourceIncrementSize ); } else { sequence = namespace.createSequence( logicalQualifiedSequenceName.getObjectName(), initialValue, sourceIncrementSize ); } this.sequenceName = database.getJdbcEnvironment().getQualifiedObjectNameFormatter().format( sequence.getName(), database.getJdbcEnvironment().getDialect() ); } }
@Override public void registerExportables(Database database) { buildSequence( database ); this.sql = database.getJdbcEnvironment().getDialect().getSequenceNextValString( sequenceName ); }
/** * Build the database structure. * * @param type The Hibernate type of the identifier property * @param params The params supplied in the generator config (plus some standard useful extras). * @param dialect The dialect being used. * @param forceTableUse Should a table be used even if the dialect supports sequences? * @param sequenceName The name to use for the sequence or table. * @param initialValue The initial value. * @param incrementSize the increment size to use (after any adjustments). * * @return An abstraction for the actual database structure in use (table vs. sequence). */ protected DatabaseStructure buildDatabaseStructure( Type type, Properties params, Dialect dialect, boolean forceTableUse, String sequenceName, int initialValue, int incrementSize) { boolean useSequence = dialect.supportsSequences() && !forceTableUse; if ( useSequence ) { return new SequenceStructure( dialect, sequenceName, initialValue, incrementSize, type.getReturnedClass() ); } else { String valueColumnName = determineValueColumnName( params, dialect ); return new TableStructure( dialect, sequenceName, valueColumnName, initialValue, incrementSize, type.getReturnedClass() ); } }
@Override public String[] sqlCreateStrings(Dialect dialect) throws HibernateException { return dialect.getCreateSequenceStrings( sequenceName, initialValue, getSourceIncrementSize() ); }
/** * Build the database structure. * * @param type The Hibernate type of the identifier property * @param params The params supplied in the generator config (plus some standard useful extras). * @param dialect The dialect being used. * @param forceTableUse Should a table be used even if the dialect supports sequences? * @param sequenceName The name to use for the sequence or table. * @param initialValue The initial value. * @param incrementSize the increment size to use (after any adjustments). * * @return An abstraction for the actual database structure in use (table vs. sequence). */ protected DatabaseStructure buildDatabaseStructure( Type type, Properties params, Dialect dialect, boolean forceTableUse, String sequenceName, int initialValue, int incrementSize) { boolean useSequence = dialect.supportsSequences() && !forceTableUse; if ( useSequence ) { return new SequenceStructure( dialect, sequenceName, initialValue, incrementSize, type.getReturnedClass() ); } else { String valueColumnName = determineValueColumnName( params, dialect ); return new TableStructure( dialect, sequenceName, valueColumnName, initialValue, incrementSize, type.getReturnedClass() ); } }
protected void buildSequence(Database database) { final int sourceIncrementSize = getSourceIncrementSize(); final MappedNamespace namespace = database.locateNamespace( logicalQualifiedSequenceName.getCatalogName(), logicalQualifiedSequenceName.getSchemaName() ); MappedSequence sequence = namespace.locateSequence( logicalQualifiedSequenceName.getObjectName() ); if ( sequence != null ) { sequence.validate( initialValue, sourceIncrementSize ); } else { sequence = namespace.createSequence( logicalQualifiedSequenceName.getObjectName(), initialValue, sourceIncrementSize ); } this.sequenceName = database.getJdbcEnvironment().getQualifiedObjectNameFormatter().format( sequence.getLogicalName(), database.getJdbcEnvironment().getDialect() ); } }