private Namespace makeNamespace(Namespace.Name name) { Namespace namespace; namespace = new Namespace( this.getPhysicalNamingStrategy(), this.getJdbcEnvironment(), name ); namespaceMap.put( name, namespace ); return namespace; }
@Override protected void buildSequence(Database database) { database.addAuxiliaryDatabaseObject( sequenceObject ); this.sequenceName = database.getJdbcEnvironment().getQualifiedObjectNameFormatter().format( getQualifiedName(), database.getJdbcEnvironment().getDialect() ); }
@Override public void registerExportables(Database database) { buildSequence( database ); this.sql = database.getJdbcEnvironment().getDialect().getSequenceNextValString( sequenceName ); }
@Override public Identifier handleExplicitName(String explicitName, MetadataBuildingContext buildingContext) { return buildingContext.getMetadataCollector() .getDatabase() .getJdbcEnvironment() .getIdentifierHelper() .toIdentifier( explicitName ); }
private Identifier toIdentifier(String tableName) { return buildingContext.getMetadataCollector() .getDatabase() .getJdbcEnvironment() .getIdentifierHelper() .toIdentifier( tableName ); }
@Override public Identifier handleExplicitName(String explicitName, MetadataBuildingContext buildingContext) { return buildingContext.getMetadataCollector() .getDatabase() .getJdbcEnvironment() .getIdentifierHelper() .toIdentifier( explicitName ); }
/** * Easy hook to build an Identifier using the keyword safe IdentifierHelper. * * @param stringForm The String form of the name * @param buildingContext Access to the IdentifierHelper * * @return The identifier */ protected Identifier toIdentifier(String stringForm, MetadataBuildingContext buildingContext) { return buildingContext.getMetadataCollector() .getDatabase() .getJdbcEnvironment() .getIdentifierHelper() .toIdentifier( stringForm ); } }
public void addBinding(Identifier logicalName, Column physicalColumn) { final String physicalNameString = physicalColumn.getQuotedName( getDatabase().getJdbcEnvironment().getDialect() ); bindLogicalToPhysical( logicalName, physicalNameString ); bindPhysicalToLogical( logicalName, physicalNameString ); }
@Override public Identifier toPhysicalName(Identifier logicalName, MetadataBuildingContext buildingContext) { return buildingContext.getBuildingOptions().getPhysicalNamingStrategy().toPhysicalTableName( logicalName, buildingContext.getMetadataCollector().getDatabase().getJdbcEnvironment() ); } }
public Identifier normalizeIdentifierQuoting(Identifier identifier) { return getBuildingContext().getMetadataCollector() .getDatabase() .getJdbcEnvironment() .getIdentifierHelper() .normalizeQuoting( identifier ); }
@Override public Identifier toPhysicalName(Identifier logicalName, MetadataBuildingContext buildingContext) { return buildingContext.getBuildingOptions().getPhysicalNamingStrategy().toPhysicalTableName( logicalName, buildingContext.getMetadataCollector().getDatabase().getJdbcEnvironment() ); } }
@Override public Identifier toPhysicalName(Identifier logicalName, MetadataBuildingContext buildingContext) { return buildingContext.getBuildingOptions().getPhysicalNamingStrategy().toPhysicalTableName( logicalName, buildingContext.getMetadataCollector().getDatabase().getJdbcEnvironment() ); } };
@Override public String getAlterTableToAddUniqueKeyCommand(UniqueKey uniqueKey, Metadata metadata) { // Do this here, rather than allowing UniqueKey/Constraint to do it. // We need full, simplified control over whether or not it happens. final String tableName = metadata.getDatabase().getJdbcEnvironment().getQualifiedObjectNameFormatter().format( uniqueKey.getTable().getQualifiedTableName(), metadata.getDatabase().getJdbcEnvironment().getDialect() ); final String constraintName = dialect.quote( uniqueKey.getName() ); return dialect.getAlterTableString( tableName ) + " add constraint " + uniqueConstraintSql( uniqueKey ) + " constraint " + constraintName; }
@Override public String[] getSqlDropStrings(Sequence sequence, Metadata metadata) { final JdbcEnvironment jdbcEnvironment = metadata.getDatabase().getJdbcEnvironment(); return dialect.getDropSequenceStrings( jdbcEnvironment.getQualifiedObjectNameFormatter().format( sequence.getName(), jdbcEnvironment.getDialect() ) ); } }
@Override public String getAlterTableToDropUniqueKeyCommand(UniqueKey uniqueKey, Metadata metadata) { if ( hasNullable( uniqueKey ) ) { return org.hibernate.mapping.Index.buildSqlDropIndexString( uniqueKey.getName(), metadata.getDatabase().getJdbcEnvironment().getQualifiedObjectNameFormatter().format( uniqueKey.getTable().getQualifiedTableName(), metadata.getDatabase().getJdbcEnvironment().getDialect() ) ); } else { return super.getAlterTableToDropUniqueKeyCommand( uniqueKey, metadata ); } }
/** * Intended only for use in handling quoting requirements for {@code column-definition} * as defined by {@link javax.persistence.Column#columnDefinition()}, * {@link javax.persistence.JoinColumn#columnDefinition}, etc. This method should not * be called in any other scenario. * * @param text The specified column definition * * @return The name with global quoting applied */ public String applyGlobalQuoting(String text) { return database().getJdbcEnvironment().getIdentifierHelper().applyGlobalQuoting( text ) .render( database().getDialect() ); }
@Override public String[] getSqlCreateStrings(Sequence sequence, Metadata metadata) { final JdbcEnvironment jdbcEnvironment = metadata.getDatabase().getJdbcEnvironment(); return dialect.getCreateSequenceStrings( jdbcEnvironment.getQualifiedObjectNameFormatter().format( sequence.getName(), jdbcEnvironment.getDialect() ), sequence.getInitialValue(), sequence.getIncrementSize() ); }
@Override protected void afterMetadataBuilt(Metadata metadata) { Collection children = metadata.getCollectionBinding( Parent.class.getName() + ".children" ); Component childComponents = ( Component ) children.getElement(); Formula f = ( Formula ) childComponents.getProperty( "bioLength" ).getValue().getColumnIterator().next(); SQLFunction lengthFunction = metadata.getDatabase().getJdbcEnvironment().getDialect().getFunctions().get( "length" ); if ( lengthFunction != null ) { ArrayList args = new ArrayList(); args.add( "bio" ); f.setFormula( lengthFunction.render( StandardBasicTypes.INTEGER, args, null ) ); } }
@Override public String getAlterTableToAddUniqueKeyCommand(UniqueKey uniqueKey, Metadata metadata) { final JdbcEnvironment jdbcEnvironment = metadata.getDatabase().getJdbcEnvironment(); final String tableName = jdbcEnvironment.getQualifiedObjectNameFormatter().format( uniqueKey.getTable().getQualifiedTableName(), dialect ); final String constraintName = dialect.quote( uniqueKey.getName() ); return dialect.getAlterTableString( tableName ) + " add constraint " + constraintName + " " + uniqueConstraintSql( uniqueKey ); }
@Override public void redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy) { if ( StringHelper.isNotEmpty( columnName ) ) { if ( applyNamingStrategy ) { getMappingColumn().setName( getBuildingContext().getBuildingOptions().getPhysicalNamingStrategy().toPhysicalColumnName( getBuildingContext().getMetadataCollector().getDatabase().toIdentifier( columnName ), getBuildingContext().getMetadataCollector().getDatabase().getJdbcEnvironment() ).render() ); } else { getMappingColumn().setName( columnName ); } } }