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.
Difference between revisions of "EclipseLink/Development/Indigo/Multi-Tenancy"
(→Core) |
(→Core) |
||
Line 36: | Line 36: | ||
# 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. | # 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. | ||
+ | # For inserts, we will append the tenant id column and value to the modify row. This is similar to the handling of the discriminiator column within an inheritance hierarchy. | ||
=== DDL generation === | === DDL generation === |
Revision as of 11:48, 9 February 2011
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 Additional Criteria feature.
- For inserts, we will append the tenant id column and value to the modify row. This is similar to the handling of the discriminiator column within an inheritance hierarchy.