Specifies the enum type for a map key whose basic type is an enumerated type.
The
MapKeyEnumerated annotation can be applied to an
element collection or relationship of type
java.util.Map, in
conjunction with the
ElementCollection,
OneToMany, or
ManyToMany annotation.
If the enumerated type is not specified or the
MapKeyEnumerated
annotation is not used, the enumerated type is assumed to be
ORDINAL.
Example:
public enum ProjectStatus {COMPLETE, DELAYED, CANCELLED, IN_PROGRESS}
public enum SalaryRate {JUNIOR, SENIOR, MANAGER, EXECUTIVE}
@Entity public class Employee {
@ManyToMany
public Projects<ProjectStatus, Project> getProjects() {...}
@OneToMany
@MapKeyEnumerated(STRING)
public Map<SalaryRate, Employee> getEmployees() {...}
...
}