Class SingleTableMultitenantPolicy
java.lang.Object
org.eclipse.persistence.descriptors.SingleTableMultitenantPolicy
- All Implemented Interfaces:
Serializable
,MultitenantPolicy
- Direct Known Subclasses:
VPDMultitenantPolicy
A single table "striped" multitenant policy.
- See Also:
- Author:
- Guy Pelletier
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addFieldsToRow
(org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Add the tenant discriminator fields to the row.void
addTenantDiscriminatorField
(String property, org.eclipse.persistence.internal.helper.DatabaseField field) INTERNAL: Add a tenant discriminator field to the policy.void
addToTableDefinition
(TableDefinition tableDefinition) INTERNAL:clone
(ClassDescriptor descriptor) INTERNAL:INTERNAL:INTERNAL:INTERNAL:boolean
INTERNAL: Return if this descriptor has specified some tenant discriminator fields.void
initialize
(org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Initialize the mappings as a separate step.boolean
INTERNAL:boolean
INTERNAL:boolean
INTERNAL:void
postInitialize
(org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Subclasses that need to add field to an expresison should override this method.void
preInitialize
(org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Allow the descriptor to initialize any dependencies on this session.void
setDescriptor
(ClassDescriptor descriptor) INTERNAL:void
setIncludeTenantCriteria
(boolean includeTenantCriteria) ADVANCED: Boolean used to indicate if the database requires the tenant criteria to be added to the SELECT, UPDATE, and DELETE queries.void
setTenantDiscriminatorFields
(Map<org.eclipse.persistence.internal.helper.DatabaseField, String> tenantDiscriminatorFields) INTERNAL:
-
Field Details
-
includeTenantCriteria
protected boolean includeTenantCriteria -
descriptor
-
tenantDiscriminatorFields
-
tenantDiscriminatorFieldsKeyedOnContext
-
-
Constructor Details
-
SingleTableMultitenantPolicy
-
-
Method Details
-
addFieldsToRow
public void addFieldsToRow(org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Add the tenant discriminator fields to the row.- Specified by:
addFieldsToRow
in interfaceMultitenantPolicy
-
addToTableDefinition
INTERNAL:- Specified by:
addToTableDefinition
in interfaceMultitenantPolicy
-
clone
INTERNAL:- Specified by:
clone
in interfaceMultitenantPolicy
-
getDescriptor
INTERNAL: -
addTenantDiscriminatorField
public void addTenantDiscriminatorField(String property, org.eclipse.persistence.internal.helper.DatabaseField field) INTERNAL: Add a tenant discriminator field to the policy. -
getTenantDiscriminatorFields
public Map<org.eclipse.persistence.internal.helper.DatabaseField,String> getTenantDiscriminatorFields()INTERNAL: -
getTenantDiscriminatorFieldsKeyedOnContext
public Map<String,List<org.eclipse.persistence.internal.helper.DatabaseField>> getTenantDiscriminatorFieldsKeyedOnContext()INTERNAL: -
hasTenantDiscriminatorFields
public boolean hasTenantDiscriminatorFields()INTERNAL: Return if this descriptor has specified some tenant discriminator fields. -
initialize
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException INTERNAL: Initialize the mappings as a separate step. This is done as a separate step to ensure that inheritance has been first resolved.- Specified by:
initialize
in interfaceMultitenantPolicy
- Throws:
DescriptorException
-
isSingleTableMultitenantPolicy
public boolean isSingleTableMultitenantPolicy()INTERNAL:- Specified by:
isSingleTableMultitenantPolicy
in interfaceMultitenantPolicy
-
isTablePerMultitenantPolicy
public boolean isTablePerMultitenantPolicy()INTERNAL:- Specified by:
isTablePerMultitenantPolicy
in interfaceMultitenantPolicy
-
isSchemaPerMultitenantPolicy
public boolean isSchemaPerMultitenantPolicy()INTERNAL:- Specified by:
isSchemaPerMultitenantPolicy
in interfaceMultitenantPolicy
-
postInitialize
public void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Subclasses that need to add field to an expresison should override this method.- Specified by:
postInitialize
in interfaceMultitenantPolicy
-
preInitialize
public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException INTERNAL: Allow the descriptor to initialize any dependencies on this session.- Specified by:
preInitialize
in interfaceMultitenantPolicy
- Throws:
DescriptorException
-
setDescriptor
INTERNAL: -
setIncludeTenantCriteria
public void setIncludeTenantCriteria(boolean includeTenantCriteria) ADVANCED: Boolean used to indicate if the database requires the tenant criteria to be added to the SELECT, UPDATE, and DELETE queries. By default this is done but when set to false the queries will not be modified and it will be up to the application or database to ensure that the correct criteria is applied to all queries.- See Also:
-
setTenantDiscriminatorFields
public void setTenantDiscriminatorFields(Map<org.eclipse.persistence.internal.helper.DatabaseField, String> tenantDiscriminatorFields) INTERNAL:
-