私はHibernateプロバイダーでJpa2を使用しています。
タイプの継承を使用しますInheritanceType.JOINED
。私のスーパークラスは抽象的である必要がありますか?
ありがとう。
スーパークラスをインスタンス化するか、今すぐインスタンス化するかによって異なります。hibernate / jpaに関する限り、違いはありません。
JPA 2.0仕様によれば、結合された継承の場合にも抽象スーパークラスと具象スーパークラスの両方が許可されるため、意見の問題です。
ほとんどの場合、スーパークラスのインスタンスを作成する必要があるようなユースケースはありません。これが、クラスの目的を文書化するため(直接インスタンス化されないため)、抽象化することが理にかなっている理由です。クラスが抽象であるかどうかに関係なく、スーパークラスタイプのクエリを作成することもできます。