From 8adcd03e2d1f65929b849b7de48f7b250900b4f0 Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sat, 28 Jun 2025 09:26:58 +0200 Subject: [PATCH] HHH-19580 simplify forSchemaAndCatalog() to forCatalog() --- .../org/hibernate/relational/SchemaManager.java | 13 +++++++++---- .../relational/internal/SchemaManagerImpl.java | 4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/relational/SchemaManager.java b/hibernate-core/src/main/java/org/hibernate/relational/SchemaManager.java index 4fabf23101dd..55cd0f40c28f 100644 --- a/hibernate-core/src/main/java/org/hibernate/relational/SchemaManager.java +++ b/hibernate-core/src/main/java/org/hibernate/relational/SchemaManager.java @@ -19,7 +19,7 @@ * {@link jakarta.persistence.SchemaManager}, which it now inherits, * with a minor change to the naming of its operations. It is retained * for backward compatibility and as a place to define additional - * functionality such as {@link #populate()}. + * functionality such as {@link #populate} and {@link #forSchema}. * * @since 6.2 * @author Gavin King @@ -97,6 +97,11 @@ public interface SchemaManager extends jakarta.persistence.SchemaManager { /** * Obtain an instance which targets the given schema. + *

+ * This is especially useful when using multiple schemas, for example, in + * {@linkplain org.hibernate.cfg.MultiTenancySettings#MULTI_TENANT_SCHEMA_MAPPER + * schema-based multitenancy}. + * * @param schemaName The name of the schema to target * * @since 7.1 @@ -105,12 +110,12 @@ public interface SchemaManager extends jakarta.persistence.SchemaManager { SchemaManager forSchema(String schemaName); /** - * Obtain an instance which targets the given schema of the given catalog. - * @param schemaName The name of the schema to target + * Obtain an instance which targets the given catalog. + * * @param catalogName The name of the catalog to target * * @since 7.1 */ @Incubating - SchemaManager forSchemaAndCatalog(String schemaName, String catalogName); + SchemaManager forCatalog(String catalogName); } diff --git a/hibernate-core/src/main/java/org/hibernate/relational/internal/SchemaManagerImpl.java b/hibernate-core/src/main/java/org/hibernate/relational/internal/SchemaManagerImpl.java index 16c69a967f3e..20f39ae51056 100644 --- a/hibernate-core/src/main/java/org/hibernate/relational/internal/SchemaManagerImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/relational/internal/SchemaManagerImpl.java @@ -47,11 +47,11 @@ public SchemaManagerImpl( @Override public SchemaManager forSchema(String schemaName) { - return new SchemaManagerImpl( sessionFactory, metadata, schemaName, null ); + return new SchemaManagerImpl( sessionFactory, metadata, schemaName, catalogName ); } @Override - public SchemaManager forSchemaAndCatalog(String schemaName, String catalogName) { + public SchemaManager forCatalog(String catalogName) { return new SchemaManagerImpl( sessionFactory, metadata, schemaName, catalogName ); }