0

3 つのテーブル/クラス (Language、Caption、CaptionLanguage) を持つテスト ケースがあります。

Language テーブルには、言語データが格納されます。
Caption テーブルには、キャプション インデックス データが格納されます。
CaptionLanguage テーブルには、言語ごとのキャプション データが格納されます。

メール

問題を解決するためにどの継承タイプを使用できますか?

「@DiscriminatorColumn(name="ID_LANG",discriminatorType=DiscriminatorType.Integer)」
を「@Inheritance(strategy=InheritanceType.JOINED)」で設定すると機能しますか?
@DiscriminatorValue(value="Value") を使用しない場合

ありがとう!

4

1 に答える 1

1

これは、継承によって解決できる問題のようには見えません。名前にもかかわらず、CaptionLanguageは のサブタイプでLanguageはありません - のサブタイプでもありませんCaption

代わりに、次の特性を持つ 3 つのエンティティのように見えます。

  • Languagetoから 1 対多CaptionLanguage(および/または多対 1 の逆数)
  • Captiontoから 1 対多CaptionLanguage(および/または多対 1 の逆)
  • Caption親から多対1 Caption(および/または1対多の逆)
  • CaptionLanguageには複合主キーがあるため、@IdClassまたは@EmbeddedId を使用する必要があります。
于 2013-02-18T19:40:58.253 に答える