Skip to content

Commit a38ea75

Browse files
committed
HHH-11455 - Do not use schema name when underlying database doesn't support It
Use JDBC Environment to get the qualified name of the table, instead of directly appending schema name when it is defined explicitly.
1 parent 517fc4c commit a38ea75

File tree

1 file changed

+12
-3
lines changed
  • hibernate-core/src/main/java/org/hibernate/mapping

1 file changed

+12
-3
lines changed

hibernate-core/src/main/java/org/hibernate/mapping/Table.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@
1717

1818
import org.hibernate.HibernateException;
1919
import org.hibernate.MappingException;
20+
import org.hibernate.boot.Metadata;
2021
import org.hibernate.boot.model.naming.Identifier;
2122
import org.hibernate.boot.model.relational.Exportable;
2223
import org.hibernate.boot.model.relational.InitCommand;
2324
import org.hibernate.boot.model.relational.Namespace;
2425
import org.hibernate.boot.model.relational.QualifiedTableName;
2526
import org.hibernate.dialect.Dialect;
27+
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
2628
import org.hibernate.engine.jdbc.env.spi.QualifiedObjectNameFormatter;
2729
import org.hibernate.engine.spi.Mapping;
2830
import org.hibernate.internal.util.StringHelper;
@@ -438,13 +440,20 @@ public void validateColumns(Dialect dialect, Mapping mapping, TableMetadata tabl
438440

439441
public Iterator sqlAlterStrings(
440442
Dialect dialect,
441-
Mapping p,
443+
Metadata metadata,
442444
TableInformation tableInfo,
443445
String defaultCatalog,
444446
String defaultSchema) throws HibernateException {
447+
448+
final JdbcEnvironment jdbcEnvironment = metadata.getDatabase().getJdbcEnvironment();
445449

446450
StringBuilder root = new StringBuilder( "alter table " )
447-
.append( getQualifiedName( dialect, defaultCatalog, defaultSchema ) )
451+
.append(
452+
jdbcEnvironment.getQualifiedObjectNameFormatter().format(
453+
tableInfo.getName(),
454+
dialect
455+
)
456+
)
448457
.append( ' ' )
449458
.append( dialect.getAddColumnString() );
450459

@@ -461,7 +470,7 @@ public Iterator sqlAlterStrings(
461470
.append( ' ' )
462471
.append( column.getQuotedName( dialect ) )
463472
.append( ' ' )
464-
.append( column.getSqlType( dialect, p ) );
473+
.append( column.getSqlType( dialect, metadata ) );
465474

466475
String defaultValue = column.getDefaultValue();
467476
if ( defaultValue != null ) {

0 commit comments

Comments
 (0)