別のエンティティから継承する 3 つのエンティティがあります。戦略 Single_Table を使用しています
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
たとえば、クラス B、C、および D は A から継承します
エンティティ B で、別のエンティティ X を熱心にロードしています。残念ながら、Hibernate は私のアノテーションを無視し、エンティティ B ごとに選択を作成してエンティティ X をフェッチします。
@ManyToOne(fetch=FetchType.EAGER)
private Projekt projekt;
私の select ステートメントは次のようになります。
いくつかのコード例:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "DType", discriminatorType = DiscriminatorType.STRING, length = 3)
public abstract class A {}
@Entity
@DiscriminatorValue(B.PREFIX)
public class B extends A {
@ManyToOne(fetch=FetchType.EAGER)
private Projekt projekt;
}
今、私は Hibernate が A から継承するすべてのクラスを照会することを期待しています。残念ながら、結果行ごとに選択ステートメントを実行して「projekt」を照会することも避けたいと思います。