2626public class SchemaManagerImpl implements SchemaManager {
2727 private final SessionFactoryImplementor sessionFactory ;
2828 private final MetadataImplementor metadata ;
29+ private final String schemaName ;
30+ private final String catalogName ;
2931
3032 public SchemaManagerImpl (
3133 SessionFactoryImplementor sessionFactory ,
3234 MetadataImplementor metadata ) {
35+ this ( sessionFactory , metadata , null , null );
36+ }
37+
38+ public SchemaManagerImpl (
39+ SessionFactoryImplementor sessionFactory ,
40+ MetadataImplementor metadata ,
41+ String schemaName , String catalogName ) {
3342 this .sessionFactory = sessionFactory ;
3443 this .metadata = metadata ;
44+ this .schemaName = schemaName ;
45+ this .catalogName = catalogName ;
46+ }
47+
48+ @ Override
49+ public SchemaManager forSchema (String schemaName ) {
50+ return new SchemaManagerImpl ( sessionFactory , metadata , schemaName , null );
51+ }
52+
53+ @ Override
54+ public SchemaManager forSchemaAndCatalog (String schemaName , String catalogName ) {
55+ return new SchemaManagerImpl ( sessionFactory , metadata , schemaName , catalogName );
3556 }
3657
3758 @ Override
@@ -40,6 +61,8 @@ public void exportMappedObjects(boolean createSchemas) {
4061 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_DATABASE_ACTION , Action .CREATE_ONLY );
4162 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_SCRIPTS_ACTION , Action .NONE );
4263 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_CREATE_SCHEMAS , createSchemas );
64+ properties .put ( AvailableSettings .DEFAULT_SCHEMA , schemaName );
65+ properties .put ( AvailableSettings .DEFAULT_CATALOG , catalogName );
4366 SchemaManagementToolCoordinator .process (
4467 metadata ,
4568 sessionFactory .getServiceRegistry (),
@@ -54,6 +77,8 @@ public void dropMappedObjects(boolean dropSchemas) {
5477 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_DATABASE_ACTION , Action .DROP );
5578 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_SCRIPTS_ACTION , Action .NONE );
5679 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_CREATE_SCHEMAS , dropSchemas );
80+ properties .put ( AvailableSettings .DEFAULT_SCHEMA , schemaName );
81+ properties .put ( AvailableSettings .DEFAULT_CATALOG , catalogName );
5782 SchemaManagementToolCoordinator .process (
5883 metadata ,
5984 sessionFactory .getServiceRegistry (),
@@ -68,6 +93,8 @@ public void validateMappedObjects() {
6893 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_DATABASE_ACTION , Action .VALIDATE );
6994 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_SCRIPTS_ACTION , Action .NONE );
7095 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_CREATE_SCHEMAS , false );
96+ properties .put ( AvailableSettings .DEFAULT_SCHEMA , schemaName );
97+ properties .put ( AvailableSettings .DEFAULT_CATALOG , catalogName );
7198 SchemaManagementToolCoordinator .process (
7299 metadata ,
73100 sessionFactory .getServiceRegistry (),
@@ -81,6 +108,8 @@ public void truncateMappedObjects() {
81108 Map <String , Object > properties = new HashMap <>( sessionFactory .getProperties () );
82109 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_DATABASE_ACTION , Action .TRUNCATE );
83110 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_SCRIPTS_ACTION , Action .NONE );
111+ properties .put ( AvailableSettings .DEFAULT_SCHEMA , schemaName );
112+ properties .put ( AvailableSettings .DEFAULT_CATALOG , catalogName );
84113 SchemaManagementToolCoordinator .process (
85114 metadata ,
86115 sessionFactory .getServiceRegistry (),
@@ -94,6 +123,8 @@ public void populate() {
94123 Map <String , Object > properties = new HashMap <>( sessionFactory .getProperties () );
95124 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_DATABASE_ACTION , Action .POPULATE );
96125 properties .put ( AvailableSettings .JAKARTA_HBM2DDL_SCRIPTS_ACTION , Action .NONE );
126+ properties .put ( AvailableSettings .DEFAULT_SCHEMA , schemaName );
127+ properties .put ( AvailableSettings .DEFAULT_CATALOG , catalogName );
97128 SchemaManagementToolCoordinator .process (
98129 metadata ,
99130 sessionFactory .getServiceRegistry (),
0 commit comments