私はいくつかのクラスが深い階層JPAマッピングを持っています。このようなものJPA深継承アノテーション属性
@Entity
@Inheritance(strategy= InheritanceType.SINGLE_TABLE)
public abstract class BaseEntityClass implements Serializable {
// lots of stuff common to all my entities.
}
@Entity
@Inheritance(strategy= InheritanceType.TABLE_PER_CLASS)
public abstract class EntityTypeOne extends BaseEntityClass {
// stuff common to EntityTypeOne
}
@Entity
@Inheritance(strategy= InheritanceType.TABLE_PER_CLASS)
public abstract class EntityTypeTwo extends BaseEntityClass {
// stuff common to EntityTypeTwo
}
マッピング戦略を定義するためにスーパークラスで@Inheritenceメソッドを使用することがわかっています。しかし、これは深い階層構造とどのように機能しますか?私はすべてのリーフクラスを自分のテーブルにマッピングする必要があります。私はBaseEntityClassでSINGLE_TABLEを行うべきですか?
階層内のすべてのスーパークラスが同じ@Inheritenceアノテーションを持っている必要がありますか?異なる注釈を使用することは何を意味するのでしょうか? – b3bop
更新された回答をご覧ください。 – Behrang
素晴らしい。ありがとう – b3bop