Annotation Interface ValuePartitioning
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 session'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:
- Author:
- James Sutherland
-
Required Element Summary
Required ElementsModifier and TypeRequired ElementDescriptionThe name of the partition policy, names must be unique for the persistence unit.jakarta.persistence.ColumnThe database column or query parameter to partition queries by.Store the value partitions. -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionThe default connection pool is used for any unmapped values.Class<?> The type of the start and end values.booleanDefines if queries that do not contain the partition field should be sent to every database and have the result unioned.
-
Element Details
-
name
String nameThe name of the partition policy, names must be unique for the persistence unit. -
partitionColumn
jakarta.persistence.Column partitionColumnThe 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
ValuePartition[] partitionsStore the value partitions. Each partition maps a value to a connectionPool. -
partitionValueType
Class<?> partitionValueTypeThe type of the start and end values.- Default:
java.lang.String.class
-
defaultConnectionPool
String defaultConnectionPoolThe default connection pool is used for any unmapped values.- Default:
""
-
unionUnpartitionableQueries
boolean unionUnpartitionableQueriesDefines if queries that do not contain the partition field should be sent to every database and have the result unioned.- Default:
false
-