Из того, что я прочитал, в некоторых случаях невозможно вложить подзапросы в HQL/Hibernate.
Допустим, у меня есть таблица статей с ценой, принадлежащих группе. Мы хотим добавить их все, но можем добавить только до лимита на группу статей. На самом деле таблица денормализована, так что у нас уже есть максимальная сумма для группы в таблице статей.
Таким образом, SQL будет таким же простым, как:
SELECT SUM(case when max_amount is null then price
when price<max_amount then price
else max_amount end)
FROM
(SELECT
SUM(price) as price, group_id, max_amount
FROM articles
GROUP BY group_id, max_amount
)
Очевидно, что моя модель данных сложнее, но это моя основная проблема.
Интересно, как я могу переписать это на HQL, так как мне не разрешено вкладывать один подзапрос в другой.
Спасибо всем.