Module eclipselink

Annotation Interface PrimaryKey


@Target(TYPE) @Retention(RUNTIME) public @interface PrimaryKey
The PrimaryKey annotation allows advanced configuration of the Id.

A validation policy can be given that allows specifying if zero is a valid id value. The set of primary key columns can also be specified precisely.

Author:
James Sutherland
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Configures what cache key type is used to store the object in the cache.
    jakarta.persistence.Column[]
    Used to specify the primary key columns directly.
    Configures what id validation is done.
  • Element Details

    • validation

      IdValidation validation
      Configures what id validation is done.

      By default, 0 is not a valid id value, this can be used to allow 0 id values.

      Default:
      ZERO
    • cacheKeyType

      CacheKeyType cacheKeyType
      Configures what cache key type is used to store the object in the cache.

      By default, the type is determined by what type is optimal for the class.

      Default:
      AUTO
    • columns

      jakarta.persistence.Column[] columns
      Used to specify the primary key columns directly.

      This can be used instead of Id if the primary key includes a non-basic field, such as a foreign key, or an inheritance discriminator, embedded, or transformation mapped field.

      Default:
      {}