私は JPA/Hibernate、MySQL、および Spring Roo を使用しており、次の 2 つの異なるタイプのメンバーを持つアプリケーションをモデル化しているところです。
- 男性会員
- 女性会員
現在、男性メンバーと女性メンバーの両方に 1 つのテーブル/エンティティがあります。
ただし、メンバーが男性か女性かによって、一部のフィールド/属性が異なることに気付きました。
たとえば、次の可能な値を含む男性用の「ひげのスタイル」属性を設定できます:「トリム、ロング、剃毛」。
ドメイン モデルでこれを表現するために、いくつかのオプションを考えました。
- ある種のJPA継承に進みます。ただし、どの戦略を選択すればよいか、またどの戦略が Hibernate でサポートされているかはわかりません。
- Member テーブル/エンティティに maleSpecificInfo と femaleSpecificInfo の 2 つのフィールドがあります。メンバーが女性の場合、maleSpecificInfo は null になり、その逆も同様です。
私の選択肢のどれが受け入れられるかについて、誰かアドバイスをいただけませんか。または、より良い代替手段を提供しますか?