EclipseLink 2.2.0, build 'v20110202-r8913' API Reference

org.eclipse.persistence.annotations
Annotation Type ValuePartitioning


@Target(value={TYPE,METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface ValuePartitioning

ValuePartitioning partitions access to a database cluster by a field value from the object, such as the object's location, or tenant. Each value is assigned a specific server. 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.

Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit. Partition policies are globally named to allow reuse, the partitioning policy must also be set using the @Partitioned annotation to be used.

See Also:
Partitioned, ValuePartitioningPolicy
Author:
James Sutherland
Since:
EclipseLink 2.2

Required Element Summary
 java.lang.String name
          The name of the partition policy, names must be unique for the persistence unit.
 Column partitionColumn
          The database column or query parameter to partition queries by.
 ValuePartition[] partitions
          Store the value partitions.
 
Optional Element Summary
 java.lang.String defaultConnectionPool
          The default connection pool is used for any unmapped values.
 java.lang.Class partitionValueType
          The type of the start and end values.
 boolean unionUnpartitionableQueries
          Defines if queries that do not contain the partition field should be sent to every database and have the result unioned.
 

Element Detail

name

public abstract java.lang.String name
The name of the partition policy, names must be unique for the persistence unit.


partitionColumn

public abstract Column partitionColumn
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.


partitions

public abstract ValuePartition[] partitions
Store the value partitions. Each partition maps a value to a connectionPool.

partitionValueType

public abstract java.lang.Class partitionValueType
The type of the start and end values.

Default:
java.lang.String.class

defaultConnectionPool

public abstract java.lang.String defaultConnectionPool
The default connection pool is used for any unmapped values.

Default:
""

unionUnpartitionableQueries

public abstract boolean unionUnpartitionableQueries
Defines if queries that do not contain the partition field should be sent to every database and have the result unioned.

Default:
false

EclipseLink 2.2.0, build 'v20110202-r8913' API Reference