Annotation Interface MapKeyEnumerated


@Target({METHOD,FIELD}) @Retention(RUNTIME) public @interface MapKeyEnumerated
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 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() { ... }
    ...
}
Since:
2.0
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    (Optional) The type used in mapping a map key enum type.
  • Element Details

    • value

      EnumType value
      (Optional) The type used in mapping a map key enum type.
      Default:
      ORDINAL