Annotation Type Partitioning


@Target({TYPE,METHOD,FIELD}) @Retention(RUNTIME) public @interface Partitioning
A Partitioning is used to partition the data for a class across multiple difference databases or across a database cluster such as Oracle RAC. Partitioning can provide improved scalability by allowing multiple database machines to service requests. This annotation configures a custom PartitioningPolicy.

If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.

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 Elements
    Modifier and Type
    Required Element
    Description
    The name of the partition policy, names must be unique for the persistence unit.
    (Required) Full package.class name of a subclass of PartitioningPolicy.
  • Element Details

    • name

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

      Class<? extends PartitioningPolicy> partitioningClass
      (Required) Full package.class name of a subclass of PartitioningPolicy.