我有一个抽象的实体,有两个具体的后代。继承类型是Single Table。我需要从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"
现在我的问题:我可以在一个查询中获取我需要的实体,或者在列表中获得一些子查询,或者使用UNION(据我所知,它在JPA中不被广泛支持)? 要么 无论如何,我有两个运行两个单独的查询,联合他们的结果并手动排序?
JPA,Hibernate,PostgreSQL。