Enum Class InheritanceType

java.lang.Object
java.lang.Enum<InheritanceType>
jakarta.persistence.InheritanceType
All Implemented Interfaces:
Serializable, Comparable<InheritanceType>, Constable

public enum InheritanceType extends Enum<InheritanceType>
Enumerated the options for mapping entity inheritance.
Since:
1.0
See Also:
  • Enum Constant Details

    • SINGLE_TABLE

      public static final InheritanceType SINGLE_TABLE
      A single table for each entity class hierarchy.

      Subclasses are stored together with the root class, and each entity instance is stored as a single table row.

      The concrete subclass represented by a row is determined by the value held by a discriminator column.

    • TABLE_PER_CLASS

      public static final InheritanceType TABLE_PER_CLASS
      A table for each concrete entity class.

      Each concrete class in the hierarchy has its own table, and each entity instance is stored as a single table row.

      No discriminator column is necessary.

    • JOINED

      public static final InheritanceType JOINED
      A table for each abstract or concrete entity class, with only the columns mapped to persistent fields and properties declared by the entity class.

      Each class in the hierarchy has its own table, but that table does not contain columns mapped to inherited fields or properties, and so the state of an entity instance might be stored across multiple table rows. A join is used to retrieve the state of such entities.

  • Method Details

    • values

      public static InheritanceType[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static InheritanceType valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null