休止状態の明示的なポリモーフィズムの問題に直面しています。ポリモーフィズム アノテーションを使用して明示的に設定しましたが、マップされたクラスの get() とコレクションを使用すると、常にすべてのサブクラスを取得します。休止状態の「show_sql」出力に、左結合を持つすべてのサブクラスが表示されます。どうしたの?ドキュメントを間違って理解していますか? それとも、休止状態 4 のバグですか? 休止状態 4 とポリモーフィズム アノテーションを使用した例は見たことがありません。
sessionFactory.getCurrentSession().get(Node.class, 111); // return subclasses!
@Entity
@Table(name="Nodes")
@Inheritance(strategy = InheritanceType.JOINED)
@Polymorphism(type= PolymorphismType.EXPLICIT)
public class Node implements Serializable {
...
}
@Entity
@Table(name="Persons")
public class Person extends Node {
}
@Entity
@Table(name="Networks")
public class Network extends Node {
}
...and other subclasses...