私は@MapsId
私はJPA
を使用して@OneToOne
関係をマッピングする方法についていくつかのベストプラクティスを読んでいると私は思ったんだけどエンティティが「共有」されている場合は動作しますか?例えば
...
Employee has Address OneToOne...
Department has Address OneToOne...
たちはここに同じアプローチを使用することはできますか?またはEMPLOYEESテーブルとDEPARTMENTSテーブルはfk_address_idを持ちますか?
私はこれをインタフェースHasAddress
で処理する必要がありますか?
ここで正しい言葉は、「共有」の「TABLE」でしょう。 '従業員 'と'部署'が自分の 'アドレス 'を管理できるからです。 –
この場合、 'Address'のフィールドに' Employee'と 'Department'クラスの' @ OneToOne'を '@ MapsId'で置く必要がありますか? –
Nope。 Address行を共有する場合は、多対1の関連付けです。そうしなければ、Addressエンティティ上のマップとDepartmentおよびEmployeeのmappedByと一対一で使用できます。 –