public void bindTable(
String schema, String catalog,
String tableName, List<UniqueConstraintHolder> uniqueConstraints,
String constraints, Table denormalizedSuperclassTable) {
EntityTableObjectNameSource tableNameContext = new EntityTableObjectNameSource( tableName, name );
EntityTableNamingStrategyHelper namingStrategyHelper = new EntityTableNamingStrategyHelper( name );
final Table table = TableBinder.buildAndFillTable(
schema,
catalog,
tableNameContext,
namingStrategyHelper,
persistentClass.isAbstract(),
uniqueConstraints,
constraints,
denormalizedSuperclassTable,
mappings,
this.subselect
);
if ( persistentClass instanceof TableOwner ) {
log.info( "Bind entity {} on table {}", persistentClass.getEntityName(), table.getName() );
( (TableOwner) persistentClass ).setTable( table );
}
else {
throw new AssertionFailure( "binding a table for a subclass" );
}
}