2 つの具体的な子孫を持つ抽象的なエンティティがあります。継承タイプは単一テーブルです。db からいくつかの子孫を見つける必要があります。検索条件として、子に関連するフィールドを使用します。つまり、親クラスにはその属性がありません。その結果、親エンティティのインスタンスのリストが必要になります。
疑似コードは次のとおりです。
abstract class ParentEntity {
}
class ChildA extends ParentEntity {
int a;
}
class ChildB extends ParentEntity {
String b;
}
クエリは次のようになります。
select ParentEntity from ChildA childA where childA.a=5 UNION select ParentEntity from ChildB childB where childB.b="hello"
今私の質問:必要なエンティティを1つのクエリで、またはいくつかのサブクエリを含むリストで、またはUNIONを使用して取得できますか(私が理解している限り、JPAでは広くサポートされていません)? または、とにかく 2 つの別々のクエリを 2 つ実行し、それらの結果を結合して手動で並べ替えますか?
JPA、休止状態、PostgreSQL。