- java.lang.Object
-
- java.lang.Enum<InheritanceType>
-
- jakarta.persistence.InheritanceType
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<InheritanceType>
public enum InheritanceType extends java.lang.Enum<InheritanceType>
Enumerated the options for mapping entity inheritance.- Since:
- 1.0
- See Also:
Inheritance.strategy()
-
-
Enum Constant Summary
Enum Constants Enum Constant Description 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.SINGLE_TABLE
A single table for each entity class hierarchy.TABLE_PER_CLASS
A table for each concrete entity class.
-
Constructor Summary
Constructors Modifier Constructor Description private
InheritanceType()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static InheritanceType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static InheritanceType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
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 Detail
-
values
public static InheritanceType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (InheritanceType c : InheritanceType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static InheritanceType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
-