Top Description Methods
javax.persistence

public @Interface MapKey

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

Specifies the map key for associations of type java.util.Map when the map key is itself the primary key or a persistent field or property of the entity that is the value of the map.

If a persistent field or property other than the primary key is used as a map key then it is expected to have a uniqueness constraint associated with it.

The MapKeyClass annotation is not used when MapKey is specified and vice versa.


   Example 1:

   @Entity
   public class Department {
       ...
       @OneToMany(mappedBy="department")
       @MapKey  // map key is primary key
       public Map<Integer, Employee> getEmployees() {... }
       ...
   }

   @Entity
   public class Employee {
       ...
       @Id Integer getEmpId() { ... }
       @ManyToOne
       @JoinColumn(name="dept_id")
       public Department getDepartment() { ... }
       ...
   }

   Example 2:

   @Entity
       public class Department {
       ...
       @OneToMany(mappedBy="department")
       @MapKey(name="name")
       public Map<String, Employee> getEmployees() {... }
       ...
   }

   @Entity
       public class Employee {
       @Id public Integer getEmpId() { ... }
       ...
       @ManyToOne
       @JoinColumn(name="dept_id")
       public Department getDepartment() { ... }
       ...
   }
Since
Java Persistence 1.0

Method Summary

Modifier and TypeMethod and Description
public String
name()

(Optional) The name of the persistent field or property of the associated entity that is used as the map key.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

nameback to summary
public String name()

(Optional) The name of the persistent field or property of the associated entity that is used as the map key.

Default: If the name element is not specified, the primary key of the associated entity is used as the map key. If the primary key is a composite primary key and is mapped as IdClass, an instance of the primary key class is used as the key.