Support datastore multitenancy ------------------------------ Key: JDO-703 URL: https://issues.apache.org/jira/browse/JDO-703 Project: JDO Issue Type: New Feature Components: api, tck Affects Versions: JDO 3 maintenance release 2 (3.2) Reporter: Matthew T. Adams
Support database multitenancy as an optional feature (using standard JDO option "javax.jdo.option.Multitenancy"), where different customers' data can be stored in the same database and the implementation amends all query filters to include a tenant identifier where instructed by the user via metadata. I forsee a minimal need for only two pieces of metadata information: first, that & where multitenancy should be used, and second, the multitenancy mapping information. Multitenancy could be given by the developer at the PMF or PM level, where he specifies a property, say "javax.jdo.multitenancy.discriminator" or similar, corresponding to new PMF or PM property multitenantDiscriminator, whose value represents the tenant discriminator. Then, queries, loads via id, or dereferences including any entities identified via metadata as multitenant would automatically include in the underlying datastore query filter a condition that uses the tenant discriminator to include only those entities that have the given tenant discriminator. The entire persistence unit (PMF), persistence context (PM), individual packages, or individual classes could be identified as multitenant via metadata (a @Multitenant annotation or external metadata). Similarly, discriminator mapping information could be defaulted or supplied in a manner similar to existing mapping metadata. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira