これはうまくいくようですが、誰かにこれを確認してもらいたいです:
エンティティの基本クラス BaseEntity があります。
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class BaseEntity {
...
}
次に、BaseEntity から拡張された A と B と C など、いくつかのエンティティがあります。さらに、次のように定義された単一の JPARepository があります。
JPARepository<BaseEntity, Long>
このリポジトリを使用して、戻り値の型を変更するだけで、テーブル A、B、または C を個別にクエリできるようになりました。例えば:
public List<B> findBsByNameContaining(String name);
テーブル B からのみ行を選択するクエリになります。
これは本当にそれがどのように機能するのですか?