Top Description Methods
javax.persistence

public @Interface MapKeyClass

extends Annotation
Annotations
@Target:METHOD, FIELD
@Retention:RUNTIME
Imports
java.lang.annotation.Target, .Retention

Specifies the type of the map key for associations of type java.util.Map. 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<String, String> 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<Division, VicePresident> organization;
    }

Since
Java Persistence 2.0
See Also
ElementCollection, OneToMany, ManyToMany

Method Summary

Modifier and TypeMethod and Description
public Class<T>
value()

(Required) The type of the map key.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

valueback to summary
public Class<T> value()

(Required) The type of the map key.