FileDocCategorySizeDatePackage
MapKey.javaAPI DocGlassfish v2 API4219Fri May 04 22:34:06 BST 2007javax.persistence

MapKey

public class MapKey
Is used to specify the map key for associations of type {@link java.util.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.


Example 1:

@Entity
public class Department {
...
@OneToMany(mappedBy="department")
@MapKey(name="empId")
public Map 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="empPK")
public Map getEmployees() {... }
...
}

@Entity
public class Employee {
@EmbeddedId public EmployeePK getEmpPK() { ... }
...
@ManyToOne
@JoinColumn(name="dept_id")
public Department getDepartment() { ... }
...
}

@Embeddable
public class EmployeePK {
String name;
Date bday;
}
since
Java Persistence 1.0

Fields Summary
Constructors Summary
Methods Summary
java.lang.Stringname()
The name of the persistent field or property of the associated entity that is used as the map key. 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 {@link IdClass}, an instance of the primary key class is used as the key.