@RepeatableSE(valueSE=MapKeyJoinColumns.class) @TargetSE(valueSE={METHODSE,FIELDSE}) @RetentionSE(valueSE=RUNTIMESE) public @interface MapKeyJoinColumn
MapKeyJoinColumn アノテーションが指定されていない場合、単一の結合列が想定され、デフォルト値が適用されます。
Example 1:
@Entity
public class Company {
@Id int id;
...
@OneToMany // unidirectional
@JoinTable(name="COMPANY_ORGANIZATION",
joinColumns=@JoinColumn(name="COMPANY"),
inverseJoinColumns=@JoinColumn(name="VICEPRESIDENT"))
@MapKeyJoinColumn(name="DIVISION")
Map<Division, VicePresident> organization;
}
Example 2:
@Entity
public class VideoStore {
@Id int id;
String name;
Address location;
...
@ElementCollection
@CollectionTable(name="INVENTORY",
joinColumns=@JoinColumn(name="STORE"))
@Column(name="COPIES_IN_STOCK")
@MapKeyJoinColumn(name="MOVIE", referencedColumnName="ID")
Map<Movie, Integer> videoInventory;
...
}
@Entity
public class Movie {
@Id long id;
String title;
...
}
Example 3:
@Entity
public class Student {
@Id int studentId;
...
@ManyToMany // students and courses are also many-many
@JoinTable(name="ENROLLMENTS",
joinColumns=@JoinColumn(name="STUDENT"),
inverseJoinColumns=@JoinColumn(name="SEMESTER"))
@MapKeyJoinColumn(name="COURSE")
Map<Course, Semester> enrollment;
...
}
ForeignKey| 修飾子と型 | オプションの要素と説明 |
|---|---|
StringSE | columnDefinition(オプション)列の DDL を生成するときに使用される SQL フラグメント。 |
ForeignKey | foreignKey(オプション)テーブル生成が有効な場合に、外部キー制約の生成を指定または制御するために使用されます。 |
boolean | insertable(オプション)永続プロバイダーによって生成された SQL INSERT ステートメントに列が含まれるかどうか。 |
StringSE | name(オプション)マップキーの外部キー列の名前。 |
boolean | nullable(オプション)外部キー列が NULL 可能かどうか。 |
StringSE | referencedColumnName(オプション)この外部キー列によって参照される列の名前。 |
StringSE | table(オプション)外部キー列を含むテーブルの名前。 |
boolean | unique(オプション)プロパティが一意のキーであるかどうか。 |
boolean | updatable(オプション)永続プロバイダーによって生成された SQL UPDATE ステートメントに列が含まれるかどうか。 |
public abstract StringSE name
デフォルト(単一の結合列が使用されている場合にのみ適用されます)以下の連結: 参照エンティティまたは埋め込み可能クラスの参照関連プロパティまたはフィールドの名前。"_" ; " キー "。
public abstract StringSE referencedColumnName
デフォルト(単一の結合列が使用されている場合にのみ適用されます)参照されるテーブルの主キー列と同じ名前
public abstract boolean unique
UniqueConstraint アノテーションのショートカットであり、一意キー制約が単一のフィールドのみである場合に役立ちます。public abstract boolean insertable
public abstract boolean updatable
public abstract StringSE columnDefinition
public abstract StringSE table
デフォルト:
public abstract ForeignKey foreignKey
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.