@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface MapsId
EmbeddedId主キーもしくはEmbeddedId主キー内の属性、単純な親エンティティの主キーによるマッピングを提供するManyToOneまたはOneToOneリレーションシップの属性を指定します。
value要素はリレーションシップの属性が対応する複合キー内の属性を指定します。
エンティティの主キーがリレーションシップによって参照されるエンティティの主キーと同じJavaの型である場合、value属性は指定されません。
Example:
// 親エンティティが単純な主キーを持つ場合
@Entity
public class Employee {
@Id long empId;
String name;
...
}
// 依存するエンティティが複合キーのためにEmbeddedIdを使用している場合
@Embeddable
public class DependentId {
String name;
long empid; // Employeeの主キーの型に対応
}
@Entity
public class Dependent {
@EmbeddedId DependentId id;
...
@MapsId("empid") // 組み込まれたID(EmbeddedId)の属性のempidにマッピング
@ManyToOne Employee emp;
}
| 修飾子とタイプ | 任意要素と説明 |
|---|---|
java.lang.String |
value
(オプション) リレーションシップの属性に関連する複合キーに含まれる属性の名前。
|
Translated by @megascus.