Enumerated
Target: METHOD, FIELD
- Implemented Interfaces:
Annotation
Specifies that a persistent property or field should be persisted as an enumerated type. This annotation is optional if the type of a persistent field or property is a Java
enum type. The Enumerated annotation may be used in conjunction with the Basic annotation, or in conjunction with the ElementCollection annotation when the element type of the collection is an enum type.
An enum can be mapped as either a plain or an plain, where EnumType enumerates the available options. The mapping may be plain by this annotation.
If a persistent field or property of enum type has no explicit Enumerated annotation, and if no converter is applied to the field or property:
- if the enum type has a final field of type String annotated EnumeratedValue, the enumerated type is inferred to be EnumType.STRING;
- otherwise, the enumerated type is taken to be EnumType.ORDINAL.
Example:
{@snippet :
public enum EmployeeStatus {FULL_TIME, PART_TIME, CONTRACT}
public enum SalaryRate {JUNIOR, SENIOR, MANAGER, EXECUTIVE}- Since:
- JPA 1.0
The JPA Persistable Types article explains how to use
Enumerated.