|
EclipseLink 1.2.0, build 'v20091016-r5565' API Reference | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value={METHOD,FIELD}) @Retention(value=RUNTIME) public @interface MapKeyClass
Is used to specify 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; }
ElementCollection
,
OneToMany
,
ManyToMany
Required Element Summary | |
---|---|
java.lang.Class |
value
(Required) The type of the map key. |
Element Detail |
---|
public abstract java.lang.Class value
|
EclipseLink 1.2.0, build 'v20091016-r5565' API Reference | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |