javax.persistence

## Annotation Type MapKeyEnumerated

    @Target(value={METHOD,FIELD})
     @Retention(value=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 `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() {...}
           ...
       }

Since:
  Java Persistence 2.0
See Also:
  `ElementCollection`, `OneToMany`, `ManyToMany`

### Optional Element Summary

Optional Elements
`EnumType` `value` (Optional) The type used in mapping a map key enum type.

### Element Detail

#### value

    public abstract EnumType value

(Optional) The type used in mapping a map key enum type.

Default:
  javax.persistence.EnumType.ORDINAL