Class FieldPartitioningPolicy
- java.lang.Object
-
- org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
-
- org.eclipse.persistence.descriptors.partitioning.FieldPartitioningPolicy
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
HashPartitioningPolicy
,RangePartitioningPolicy
,ValuePartitioningPolicy
public abstract class FieldPartitioningPolicy extends PartitioningPolicy
PUBLIC: FieldPartitioningPolicy partitions access to a database cluster by a field value from the object, such as the object's id, location, or tenant. All write or read request for object's with that value are sent to the server. If a query does not include the field as a parameter, then it can either be sent to all server's and unioned, or left to the sesion's default behavior.- Since:
- EclipseLink 2.2
- Author:
- James Sutherland
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description FieldPartitioningPolicy()
FieldPartitioningPolicy(String partitionField)
FieldPartitioningPolicy(String partitionField, boolean unionUnpartitionableQueries)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.persistence.internal.helper.DatabaseField
getPartitionField()
PUBLIC: Return the database column or query parameter to partition queries by.String
getPartitionFieldName()
PUBLIC: Return the database column or query parameter to partition queries by.boolean
getUnionUnpartitionableQueries()
PUBLIC: Return if queries that do not contain the partition field should be sent to every database and have the result unioned.void
setPartitionField(String partitionField)
PUBLIC: Set the database column or query parameter to partition queries by.void
setPartitionField(org.eclipse.persistence.internal.helper.DatabaseField partitionField)
PUBLIC: Set the database column or query parameter to partition queries by.void
setUnionUnpartitionableQueries(boolean unionUnpartitionableQueries)
PUBLIC: Set if queries that do not contain the partition field should be sent to every database and have the result unioned.-
Methods inherited from class org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
acquireAccessor, convertClassNamesToClasses, getAccessor, getConnectionsForQuery, getName, initialize, partitionPersist, setName
-
-
-
-
Method Detail
-
getPartitionField
public org.eclipse.persistence.internal.helper.DatabaseField getPartitionField()
PUBLIC: Return the database column or query parameter to partition queries by. This is the table column name, not the class attribute name. The column value must be included in the query and should normally be part of the object's Id. This can also be the name of a query parameter. If a query does not contain the field the query will not be partitioned.
-
setPartitionField
public void setPartitionField(org.eclipse.persistence.internal.helper.DatabaseField partitionField)
PUBLIC: Set the database column or query parameter to partition queries by. This is the table column name, not the class attribute name. The column value must be included in the query and should normally be part of the object's Id. This can also be the name of a query parameter. If a query does not contain the field the query will not be partitioned.
-
getPartitionFieldName
public String getPartitionFieldName()
PUBLIC: Return the database column or query parameter to partition queries by. This is the table column name, not the class attribute name. The column value must be included in the query and should normally be part of the object's Id. This can also be the name of a query parameter. If a query does not contain the field the query will not be partitioned.
-
setPartitionField
public void setPartitionField(String partitionField)
PUBLIC: Set the database column or query parameter to partition queries by. This is the table column name, not the class attribute name. The column value must be included in the query and should normally be part of the object's Id. This can also be the name of a query parameter. If a query does not contain the field the query will not be partitioned.
-
getUnionUnpartitionableQueries
public boolean getUnionUnpartitionableQueries()
PUBLIC: Return if queries that do not contain the partition field should be sent to every database and have the result unioned.
-
setUnionUnpartitionableQueries
public void setUnionUnpartitionableQueries(boolean unionUnpartitionableQueries)
PUBLIC: Set if queries that do not contain the partition field should be sent to every database and have the result unioned.
-
-