web-dev-qa-db-ja.com

JPA:外部キーアノテーション

ForumTopicの2つのデータベースエンティティがあります。

Topicにはprotected long forumIdデータメンバー。これは、もちろんTopicのフォーラムを示します。

私の質問は、このデータメンバーに使用する注釈です。

21
socksocket

フォーラムには多くのトピックがあり、トピックは1つだけのフォーラムに属しているため、おそらく @ManyToOne

@ManyToOne
@JoinColumn(name = "forumId")
private Forum forum;

もっと見る:

ManyToOne および JPAマッピング

34
Elias Dorneles

他の人が答えたように-
ManyToOneおよびJoinColumn注釈を使用する必要があります。
JPAはORM-オブジェクトリレーショナルマッピングに関するものなので、
「Java-あなたの場合は識別子(forumId)ではなく、オブジェクトを介して)」で「自然に」行うように別のオブジェクトを参照する必要があります。
これは、JPAとHibernate(以前はJPA)の関係の間の設計上の考慮事項の1つでした。

5
Yair Zaslavsky

@ManyToOne注釈が示すように、フォーラムごとに多くのトピックがあります

1
munyengm