2

有人可以给我一个选择几个选定子类实体的 JPA 查询示例吗?例如,父实体是机构。我已将其细分为制造商、供应商、服务提供商。我想在返回机构对象的单个查询中获取所有供应商和服务提供商,但不是制造商。

我用谷歌搜索,但找不到解决这个特定问题的任何资源。提前致谢。

4

1 回答 1

10

来自 JPA 2.0 规范:

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

SELECT e FROM Employee e WHERE TYPE(e) IN (Exempt, Contractor)

SELECT e FROM Employee e WHERE TYPE(e) IN (:empType1, :empType2)

[...]

所以我会尝试类似的东西:

List<Institution> institutions = em.createQuery("SELECT i FROM Institution i WHERE TYPE(i) IN ( Supplier, ServiceProvider ) ).getResultList();
于 2012-06-13T06:16:43.973 回答