JPA関連
🙋♀️ ただいま整理中です
プライマリ・プロパティnameマッピングする外部キーの名前を指定します.
これによりAnswerにはuser idという列が表示され、Userのidが含まれます. 省略すると、列名 外部キーが参照するターゲット・テーブルのカラム名を指定します. 外部キー制約を直接指定できます 外部キー制約外部キー制約は、2つのテーブル間の関係を宣言することによって、データの整合性を保証します.
「外部キー関係が確立されると、あるテーブル(外部キーテーブル)は別のテーブル(データムテーブル)に依存します.」外部キーテーブルが参照する「標準テーブル」列は、PKまたはUNIQUE制約を設定する必要があります. 最終的に、外部キー制約を指定することは、外部キーを指定したときに参照されるキーに加えて、外部キーの名前を指定したり、制約で制約を定義したり作成したりすることを意味します. 正式ドキュメントを表示する場合、@ForeignTypeのプロパティは次のとおりです. したがって、JPAを使用するときにForeignKeyとして名前を付ける場合は、@JoinColumnを使用してforeignKeyと名前を付けることができます.
例として、foreignKeyのnameを設定すると、add constraint
オブジェクト関係のマッピング
@JoinColumn
プライマリ・プロパティ
name
マッピングする外部キー名referencedColumnName
外部キー参照先テーブルのカラム名foreignKey
外部キー制約を直接指定(テーブル作成時にのみ使用)name
@JoinColumn(name="user_id")
ユーザの情報をどのカラムに格納するかを指定します.これによりAnswerにはuser idという列が表示され、Userのidが含まれます.
엔티티의 이름
および(+)pk 이름
が自動的に生成されます.(ex.エンティティ名pk名)public class Answer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
private User writer;
}
referencedColumnName
foriegnKey
「外部キー関係が確立されると、あるテーブル(外部キーテーブル)は別のテーブル(データムテーブル)に依存します.」外部キーテーブルが参照する「標準テーブル」列は、PKまたはUNIQUE制約を設定する必要があります.
foreignKey
タイプは@Foreignです.name
は外部キー制約の名前です.foreignKeyDefinition
外部キー制約を定義します.value
スキーマの作成時に外部キー制約を作成する必要があるかどうかを指定例として、foreignKeyのnameを設定すると、add constraint
FKihcxeouul..
とともにadd constraintfk_answer_to_question
に変更されて表示されることがわかる. @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "question_id", foreignKey = @ForeignKey(name = "fk_answer_to_question"))
private Question question;
Reference
この問題について(JPA関連), 我々は、より多くの情報をここで見つけました https://velog.io/@yyy96/JPA-연관관계テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol