如何将SQL(嵌套子查询)转换为QueryBuilder创建的查询

时间:2019-05-22 09:43:40

标签: java sql jpa query-builder

是否可以通过JPA QueryBuilder创建查询 使用query.from(subquery)

select DISTINCT substring(min(sel."order"), 2)
from
  (SELECT s.name || d.name "name",
          CASE
          WHEN d.status = 'ACCEPTED' then '0ACCEPTED'
          WHEN d.status = 'OPEN' then '1OPEN'
          WHEN d.status = 'DISMISSED' then '2DISMISSED'
          end "order"
   FROM items AS d
     LEFT JOIN store s ON d.store_id = s.id
   WHERE ... ) sel
GROUP BY sel.name

请不要尝试查看查询中的逻辑

我只想知道如何通过查询生成器创建这种构造

select * 
from (select something 
      from some table
      where conditions)

当然有可能

我知道如何在WHERE或SELECT部分​​中使用子查询。但我不知道如何在FROM表达式内使用子查询

1 个答案:

答案 0 :(得分:1)

不可能将纯SQL与Criteria API一起使用。

Criteria API在实体上起作用,而不在数据库表上起作用。