私は次の記事を読んでいた。休止所有エンティティ側で共有プライマリキー
と私は二つのことで混乱していた:
の1-エンティティの所有側です。記事から: "ヒューバーネイトに、その関係を管理するのは学生クラスだと教えてください。"
しかし学生のエンティティにはmappedByというアノテーションが付けられており、mappedByでアノテーションされたエンティティは逆の側であることがわかります。誰でもこれを説明できますか?
@Entity
@Table(name = "STUDENT")
public class Student {
@Id
@GeneratedValue
@Column(name = "STUDENT_ID")
private long id;
@Column(name = "FIRST_NAME")
private String firstName;
@Column(name = "LAST_NAME")
private String lastName;
@Column(name = "SECTION")
private String section;
@OneToOne(mappedBy="student", cascade = CascadeType.ALL)
private Address address;
2 - このIDは外部キーですか? @PrimaryKeyJoinColumnはAddressエンティティで使用されます。つまり、Address Idがプライマリおよび外部キーです。彼らは同じ例を持っていますが、その一方向の次の資料に:
あなたは@PrimaryKeyJoinColumnの場所が変更されて気づくことができ、まだアドレスが外部キーです。 Idは外部キーになります。
Biographyクラスのauthor_idです。あれは正しいですか?それはAuthorクラスのidでなければなりません。どうか確認していただけますか? –