Class SchemaPerMultitenantPolicy
- java.lang.Object
-
- org.eclipse.persistence.descriptors.TablePerMultitenantPolicy
-
- org.eclipse.persistence.descriptors.SchemaPerMultitenantPolicy
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,MultitenantPolicy
public class SchemaPerMultitenantPolicy extends TablePerMultitenantPolicy
A schema per tenant multitenant policy. This is a special case of TablePerMultitenantPolicy which can be applied on the project. Can be useful in cases when tenant schema change happens outside of EclipseLink, typically if Proxy DataSource is used. Use of this policy is limited to projects where following applies- @Multitenant entities are not used
- EMF is shared across tenants
- EMF shared cache is disabled
- no @Entity defines schema to be used
- Since:
- EclipseLink 2.6
- Author:
- Lukas Jungmann
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SchemaPerMultitenantPolicy()
SchemaPerMultitenantPolicy(ClassDescriptor desc)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MultitenantPolicy
clone(ClassDescriptor descriptor)
INTERNAL: Multitenant policies are cloned per inheritance subclass.org.eclipse.persistence.internal.helper.DatabaseTable
getTable(java.lang.String tableName)
INTERNAL: Return the new database table associated with this tenant.org.eclipse.persistence.internal.helper.DatabaseTable
getTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL: Return the new database table associated with this tenant.void
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:boolean
isSchemaPerMultitenantPolicy()
INTERNAL:boolean
isTablePerMultitenantPolicy()
INTERNAL:void
setShouldUseSharedCache(boolean shouldUseSharedCache)
void
setShouldUseSharedEMF(boolean shouldUseSharedEMF)
boolean
shouldUseSharedCache()
boolean
shouldUseSharedEMF()
-
Methods inherited from class org.eclipse.persistence.descriptors.TablePerMultitenantPolicy
addFieldsToRow, addToTableDefinition, getContextProperty, hasContextTenant, isPrefixPerTable, isSchemaPerTable, isSingleTableMultitenantPolicy, isSuffixPerTable, postInitialize, preInitialize, setContextProperty, setContextTenant, setTenantTableDiscriminatorType, shouldInitialize, usesContextProperty
-
-
-
-
Constructor Detail
-
SchemaPerMultitenantPolicy
public SchemaPerMultitenantPolicy()
-
SchemaPerMultitenantPolicy
public SchemaPerMultitenantPolicy(ClassDescriptor desc)
-
-
Method Detail
-
initialize
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
INTERNAL:- Specified by:
initialize
in interfaceMultitenantPolicy
- Overrides:
initialize
in classTablePerMultitenantPolicy
- Throws:
DescriptorException
-
clone
public MultitenantPolicy clone(ClassDescriptor descriptor)
Description copied from class:TablePerMultitenantPolicy
INTERNAL: Multitenant policies are cloned per inheritance subclass.- Specified by:
clone
in interfaceMultitenantPolicy
- Overrides:
clone
in classTablePerMultitenantPolicy
-
isSchemaPerMultitenantPolicy
public boolean isSchemaPerMultitenantPolicy()
Description copied from class:TablePerMultitenantPolicy
INTERNAL:- Specified by:
isSchemaPerMultitenantPolicy
in interfaceMultitenantPolicy
- Overrides:
isSchemaPerMultitenantPolicy
in classTablePerMultitenantPolicy
-
isTablePerMultitenantPolicy
public boolean isTablePerMultitenantPolicy()
Description copied from class:TablePerMultitenantPolicy
INTERNAL:- Specified by:
isTablePerMultitenantPolicy
in interfaceMultitenantPolicy
- Overrides:
isTablePerMultitenantPolicy
in classTablePerMultitenantPolicy
-
getTable
public org.eclipse.persistence.internal.helper.DatabaseTable getTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
Description copied from class:TablePerMultitenantPolicy
INTERNAL: Return the new database table associated with this tenant.- Overrides:
getTable
in classTablePerMultitenantPolicy
-
getTable
public org.eclipse.persistence.internal.helper.DatabaseTable getTable(java.lang.String tableName)
Description copied from class:TablePerMultitenantPolicy
INTERNAL: Return the new database table associated with this tenant.- Overrides:
getTable
in classTablePerMultitenantPolicy
-
shouldUseSharedEMF
public boolean shouldUseSharedEMF()
-
setShouldUseSharedEMF
public void setShouldUseSharedEMF(boolean shouldUseSharedEMF)
-
shouldUseSharedCache
public boolean shouldUseSharedCache()
-
setShouldUseSharedCache
public void setShouldUseSharedCache(boolean shouldUseSharedCache)
-
-