Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/Development/Indigo/Multi-Tenancy
See bug??? Bug 335601
Multi-Tenancy
The goal of this feature is to allow multiple tenants on the same database schema.
Requirements
Configuration
The tenant id field and a tenant id value will be configured through EclipseLink properties within the persistence.xml file.
- eclipselink.multi-tenant.id
- eclipselink.multi-tenant.id-column
When a multi-tenant id is specified, the multi-tenant column will default to "TENANT_ID" if it is not specified by the user. That column is then expected to be available from the following tables of the schema:
- @Table
It is not expected for the following tables:
- @SecondaryTable?
- @CollectionTable
- @JoinTable
When using DDL generation, the user need not worry about this. The DDL generation framework will be responsible for ensuring all necessary tables have a tenant id column.
Core
The tenant id and tenant id column will be applied in two places.
- We will leverage the current additional join expression from the DescriptorQueryManager to filter tenants. This is similar to the [EclipseLink/Development/AdditionalCriteria | Additional Criteria] feature.