Annotation Type DiscriminatorColumn


  • @Target(TYPE)
    @Retention(RUNTIME)
    public @interface DiscriminatorColumn
    Specifies the discriminator column for the SINGLE_TABLE and JOINED inheritance mapping strategies.

    The mapping strategy and discriminator column are only specified for the root of an entity class hierarchy or subhierarchy in which a different inheritance strategy is applied.

    If the DiscriminatorColumn annotation is missing, and a discriminator column is required, the name of the discriminator column defaults to "DTYPE" and the discriminator type to DiscriminatorType.STRING.

    Example: {@snippet :

    Since:
    1.0
    See Also:
    DiscriminatorValue, DiscriminatorType
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.String columnDefinition
      (Optional) The SQL fragment that is used when generating the DDL for the discriminator column.
      DiscriminatorType discriminatorType
      (Optional) The type of object/column to use as a class discriminator.
      int length
      (Optional) The column length for String-based discriminator types.
      java.lang.String name
      (Optional) The name of column to be used for the discriminator.
      java.lang.String options
      (Optional) A SQL fragment appended to the generated DDL which declares this column.
    • Element Detail

      • name

        java.lang.String name
        (Optional) The name of column to be used for the discriminator.
        Default:
        "DTYPE"
      • discriminatorType

        DiscriminatorType discriminatorType
        (Optional) The type of object/column to use as a class discriminator. Defaults to DiscriminatorType.STRING.
        Default:
        jakarta.persistence.DiscriminatorType.STRING
      • columnDefinition

        java.lang.String columnDefinition
        (Optional) The SQL fragment that is used when generating the DDL for the discriminator column.

        Defaults to the provider-generated SQL to create a column of the specified discriminator type.

        Default:
        ""
      • options

        java.lang.String options
        (Optional) A SQL fragment appended to the generated DDL which declares this column. May not be used in conjunction with columnDefinition().
        Since:
        3.2
        Default:
        ""
      • length

        int length
        (Optional) The column length for String-based discriminator types. Ignored for other discriminator types.
        Default:
        31