Помогите преобразовать SQL-запрос в JPQL - PullRequest
1 голос
/ 04 августа 2010

У меня есть SQL-запрос, который мне нужно перевести на JPQL, и я начинаю задумываться, не является ли это одним из случаев, когда мне просто нужно использовать нативный SQL.Для справки приведем SQL-запрос.

SELECT c.title, a.approval_total, r.requested_total
FROM
   codes c
INNER JOIN
 (SELECT code_id, year, SUM(requested_amount) requestedTotal
   FROM requests
   GROUP BY code_id, year) r
 ON c.id = r.code_id
INNER JOIN
 (SELECT code_id, year, SUM(approved_amount) approvedTotal
   FROM approvals
   GROUP BY code_id, year) a
 ON c.id = a.code_id
WHERE c.title = ? AND r.fiscal_year = ? and a.fiscal_year = ?

Кто-нибудь знает способ перевода строкового представления, подобного этим двум, в JPQL?Или, альтернативно, другой способ структурирования запроса, который может облегчить перевод?

1 Ответ

0 голосов
/ 23 августа 2010

Я бы сначала переписал SQL-запрос без использования встроенного выбора

, не уверен, правильно ли я его напишу, но это будет примерно так:

SELECT c.title, sum(a.approved_amount) as approval_total, SUM(r.requested_amount) as requested_total
FROM codes c
INNER JOIN requests r ON c.id = r.code_id
INNER JOIN approvals a ON c.id = a.code_id
WHERE c.title = ? AND r.fiscal_year = ? and a.fiscal_year = ?
GROUP By r.code_id, r.year, a.code_id, a.year
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...