1

Hibernate と JPA 2.0 を使用します。Mail クラスと MailAccount クラスがあります。どちらのクラスも他方への直接参照を持つ必要はありません。現在、Mail クラスには、それが属するアカウントの ID を指す accountId long だけがあります。これは、「アカウント X に属するすべてのメールを取得する」などのクエリを作成するためのものです。私が知る限り、それらに直接参照を与えることは、多くの理由で悪いことです (アカウントには何十万ものメールが関連付けられている可能性があります)。

ただし、これを行う際に、JPA アノテーションで accountId フィールドにアノテーションを付けていません。データベースに関係を認識させたいと思います。主に、accountId がメールアカウントテーブルのエントリの ID を参照していることです (変更のカスケードなどのために)。JPAでこれを行うにはどうすればよいですか?

要するに:

Mail.java で

private long accountId;

MailAccount.java で

private long id;

JPA 経由で Hibernate/JPA に accountId が MailAccount.id を参照していることを伝えるにはどうすればよいですか?

4

0 に答える 0