Overview | Package | Class | Tree | Deprecated | Index | Help
| Java EE 5 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

## javax.persistence
Annotation Type MapKey

    @Target(value={METHOD,FIELD})
    @Retention(value=RUNTIME)
    public @interface MapKey

Is used to specify the map key for associations of type `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

Optional Element Summary
`String` | `name` The name of the persistent field or property of the associated entity that is used as the map key.

### name

    public abstract String name

  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 `IdClass`, an instance of the primary key class is used as the key.

  Default:
    ""

Overview | Package | Class | Tree | Deprecated | Index | Help
| Java EE 5 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

Submit a bug or feature

Copyright 2006 Sun Microsystems, Inc. All rights reserved.