@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface MapKeyEnumerated
MapKeyEnumeratedアノテーションはElementCollectionもしくはOneToMany、ManyToManyアノテーションと共に、
java.util.Map型の要素コレクションやリレーションシップに適用できます。
列挙型が指定されていないか、MapKeyEnumeratedアノテーションが使用されていない場合、列挙型は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() {...}
...
}
ElementCollection,
OneToMany,
ManyToManypublic abstract EnumType value
Translated by @megascus.