Add multitenancy module: Hibernate 7 @TenantId vs schema-per-tenant (shared pool + search_path, pool per tenant), JWT tenant filter, isolation failure modes on PostgreSQL 17 (Hibernate 7.4.14.Final, Spring Boot 4.1.2)

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b4VQVEJWetTT1dYzyJ
This commit is contained in:
2026-10-29 05:52:26 +00:00
co-authored by Claude Sonnet 5.5
parent ef2d2aa8ea
commit 98f4ed7411
45 changed files with 1820 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
# Hibernate 7.4.14.Final, reflected from the classpath
== packages
TenantId -> org.hibernate.annotations.TenantId
CurrentTenantIdentifierResolver -> org.hibernate.context.spi.CurrentTenantIdentifierResolver
MultiTenantConnectionProvider -> org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider
HibernatePropertiesCustomizer -> org.springframework.boot.hibernate.autoconfigure.HibernatePropertiesCustomizer
== generics
CurrentTenantIdentifierResolver type parameters: [T]
MultiTenantConnectionProvider type parameters: [T]
TenantIdResolver implements org.hibernate.context.spi.CurrentTenantIdentifierResolver<java.lang.String>
== setting names (org.hibernate.cfg.MultiTenancySettings)
MULTI_TENANT_IDENTIFIER_RESOLVER = hibernate.tenant_identifier_resolver
MULTI_TENANT_CONNECTION_PROVIDER = hibernate.multi_tenant_connection_provider
TENANT_IDENTIFIER_TO_USE_FOR_ANY_KEY = hibernate.multi_tenant.datasource.identifier_for_any
== @TenantId targets
@java.lang.annotation.Target({METHOD, FIELD})