Java 多态JPA查询

Java 多态JPA查询,java,jakarta-ee,jpa,persistence,Java,Jakarta Ee,Jpa,Persistence,有人能给我举一个JPA查询的例子,它选择了几个选定的子类实体吗?例如,母实体是机构。我将其细分为制造商、供应商、服务提供商。我想在一个查询中得到所有的供应商和服务提供商,而不是返回机构对象的制造商 我在谷歌上搜索过,但找不到任何解决这个具体问题的资源。提前谢谢 来自JPA 2.0规范: 4.6.17.4实体类型表达式[…]实体的Java类用作指定实体类型的输入参数。示例: 从员工e中选择e,其中类型(e)在(豁免,承包商) 从Employee e中选择e,其中在(:empType1,:empTy

有人能给我举一个JPA查询的例子,它选择了几个选定的子类实体吗?例如,母实体是机构。我将其细分为制造商、供应商、服务提供商。我想在一个查询中得到所有的供应商和服务提供商,而不是返回机构对象的制造商

我在谷歌上搜索过,但找不到任何解决这个具体问题的资源。提前谢谢

来自JPA 2.0规范:

4.6.17.4实体类型表达式[…]实体的Java类用作指定实体类型的输入参数。示例:

从员工e中选择e,其中类型(e)在(豁免,承包商)

从Employee e中选择e,其中在(:empType1,:empType2)中键入(e)

[……]

因此,我会尝试以下方法:

List<Institution> institutions = em.createQuery("SELECT i FROM Institution i WHERE TYPE(i) IN ( Supplier, ServiceProvider ) ).getResultList();
List institutions=em.createQuery(“从Institution i中选择i,其中在(Supplier,ServiceProvider)中输入(i)).getResultList();