@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface MapKey
java.util.Map
型の関連付けのためのマップキーを指定するか、
マップの値であるエンティティの永続化フィールドまたはプロパティを指定します。
主キー以外の永続化フィールドまたはプロパティがマップキーとして使用される場合でもそれに関連付けられた一意制約があることが予期されます。
MapKeyClass
アノテーションとMapKey
アノテーションは同時に使われることはありません。
Example 1: @Entity public class Department { ... @OneToMany(mappedBy="department") @MapKey // マップキーは主キー 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() { ... } ... }
修飾子とタイプ | 任意要素と説明 |
---|---|
java.lang.String |
name
(オプション) マップキーとして使用される関連エンティティの永続化フィールドまたはプロパティの名前。
|
Translated by @megascus.