联合到 JPA 查询

2022-09-01 01:19:46

是否可以在JPA甚至“标准生成器”中查询“UNION”?

我正在寻找例子,但到目前为止,我没有得到任何结果。

有没有人有任何如何使用它的例子?

或者,这将是本机sql吗?


答案 1

SQL支持UNION,但JPA 2.0 JPQL不支持。大多数联合可以在联接方面完成,但有些不能,有些则更难使用联接来表示。

EclipseLink 支持 UNION。


答案 2

根据具体情况,可以使用子查询,例如:

select e
from Entity e
where e.id in
(
  select e.id
  from Entity2 e2
       join e2.entity e
  where e2.someProperty = 'value'
)
      or e.id in
(
  select e.id
  from Entity3 e3
       join e3.entity e
  where e3.someProperty = 'value2'
)

推荐