0

私は本「Java Persistance with Hibernate」を再編集しており、結合テーブルを使用した1-2-1の例に直面しました(第2版、230ページ)。しかし、私はまだそのようなアプローチの利点を理解できません。

それらについて説明していただけますか?オプションのワンツーワン合体ですか。このような場合には。関連付けるテーブルの 1 つで null 許容の Foreign-Key を単純に使用できないのはなぜですか?

4

1 に答える 1

3

OneToMany 関係で JoinTable を使用することはオプションです。私はこの本を読んでいませんが、OneToOne 関係で JoinTable を使用することの少なくとも 2 つの利点を考えることができます。

  1. OneToMany または ManyToMany に移行するのは簡単です: エンティティ Person OneToOne Address があるとしましょう。すべて何年も問題なく動作します。ただし、Person ManyToMany Address という新しいビジネス ルールができたので、スクリプトを記述してデータを移行し、テーブル構造を変更する必要があります。JoinTable がある場合は、関係を変更するだけです。

  2. エンティティ テーブルの代わりに JoinTable からレコードを削除できます。シナリオによっては、これが有利な場合があります。再び Person OneToOne Address を使用して、Person の Address を削除したい場合は、関係から削除するだけです。

乾杯、

于 2013-08-04T14:19:14.367 に答える