Annotation Type 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
    (Optional) Configures what cache key type is used to store the object in the cache.
    jakarta.persistence.Column[]
    (Optional) Used to specify the primary key columns directly.
    (Optional) Configures what id validation is done.
  • Element Details

    • validation

      IdValidation validation
      (Optional) 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
      (Optional) 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
      (Optional) 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 a inheritance discriminator, embedded, or transformation mapped field.
      Default:
      {}