1

我有一个带有两个具体后代的抽象实体。继承类型是单表。我需要从 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,休眠,PostgreSQL。

4

0 回答 0