Top Description Methods
org.eclipse.persistence.annotations

public @Interface ValuePartitioning

extends Annotation
Annotations
@Target:TYPE, METHOD, FIELD
@Retention:RUNTIME
Imports
java.lang.annotation.Retention, .Target, jakarta.persistence.Column

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.

Author
James Sutherland
Since
EclipseLink 2.2
See Also
Partitioned, org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy

Method Summary

Modifier and TypeMethod and Description
public String
defaultConnectionPool()

The default connection pool is used for any unmapped values.

public String
name()

The name of the partition policy, names must be unique for the persistence unit.

public Column
partitionColumn()

The database column or query parameter to partition queries by.

public ValuePartition[]
partitions()

Store the value partitions.

public Class<?>
partitionValueType()

The type of the start and end values.

public boolean
unionUnpartitionableQueries()

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

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

defaultConnectionPoolback to summary
public String defaultConnectionPool()

The default connection pool is used for any unmapped values.

nameback to summary
public String name()

The name of the partition policy, names must be unique for the persistence unit.

partitionColumnback to summary
public 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.

partitionsback to summary
public ValuePartition[] partitions()

Store the value partitions. Each partition maps a value to a connectionPool.

partitionValueTypeback to summary
public Class<?> partitionValueType()

The type of the start and end values.

unionUnpartitionableQueriesback to summary
public boolean unionUnpartitionableQueries()

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