Jakarta Persistence (JPA) Annotation Type
jakarta.persistence.MapKeyClass
- Implemented Interfaces:
Annotation
- Target:
- Method, Field
Specifies the type of the map key for associations of type
Map<K,V>. The map key can be a basic type, an embeddable class, or an entity. If the map is specified using Java generics, the MapKeyClass annotation and associated type need not be specified; otherwise they must be specified. The MapKeyClass annotation is used in conjunction with ElementCollection or one of the collection-valued relationship annotations (OneToMany or ManyToMany). The MapKey annotation is not used when MapKeyClass is specified and vice versa.
Example 1:
@Entity public class Item { @Id int id; ... @ElementCollection(targetClass = String.class) @MapKeyClass(String.class) Map images; // map from image name to image filename ... }
Example 2:
// MapKeyClass and target type of relationship can be defaulted @Entity public class Item { @Id int id; ... @ElementCollection Map images; ... }
Example 3:
@Entity public class Company { @Id int id; ... @OneToMany(targetEntity = com.example.VicePresident.class) @MapKeyClass(com.example.Division.class) Map organization; }
Example 4:
// MapKeyClass and target type of relationship are defaulted @Entity public class Company { @Id int id; ... @OneToMany Map organization; }
- See Also:
- Since:
- Jakarta Persistence (JPA) 2.0
Annotation Elements
Class<?> value- Since:
- Jakarta Persistence (JPA) 1.0
Additional JDK methods inherited from java.lang.annotation.Annotation
annotationType(), equals(Object), hashCode(), toString()