refactor: update tenant data source configuration and routing logic.
This commit is contained in:
@@ -103,6 +103,7 @@ public class TenantDataSourceConfig implements WebMvcConfigurer {
|
||||
|
||||
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
|
||||
vendorAdapter.setGenerateDdl(true);
|
||||
vendorAdapter.setDatabasePlatform("org.hibernate.dialect.PostgreSQLDialect");
|
||||
em.setJpaVendorAdapter(vendorAdapter);
|
||||
|
||||
Map<String, Object> props = new HashMap<>();
|
||||
|
||||
@@ -33,7 +33,16 @@ public class TenantRoutingDataSource extends AbstractRoutingDataSource {
|
||||
@Override
|
||||
protected Object determineCurrentLookupKey() {
|
||||
String tenant = TenantContext.getCurrentTenant();
|
||||
return tenant != null ? tenant : "default";
|
||||
if (tenant != null && dataSources.containsKey(tenant)) {
|
||||
return tenant;
|
||||
}
|
||||
// Fallback: если нет контекста (например при инициализации JPA)
|
||||
// или тенант не найден — берём первый доступный
|
||||
if (!dataSources.isEmpty()) {
|
||||
String fallback = dataSources.keySet().iterator().next().toString();
|
||||
return fallback;
|
||||
}
|
||||
return "default";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user