Я новичок в спящем режиме. Я использую hibernate в своем проекте, но я застрял в одном месте. У меня есть две таблицы базы данных, которая похожа на следующее:Hibernate group по критериям
Первая таблица
Category
id | name
---------
1 | cat1
2 | cat2
Второй стол
Product
id | categoryid | name
----------------------
1 | 1 | p1
2 | 1 | p2
Что я хотел добиться того, чтобы получить набор результатов, содержащий категорию и количество продукта в каждая категория.
categoryid | productcount
1 | 2
2 | 0
В настоящее время я могу это сделать, используя встроенную поддержку Hibernate.
SQL:
SELECT c.id, CASE WHEN x.count IS NULL THEN 0 ELSE x.count END AS productcount
FROM category AS c LEFT OUTER JOIN
(
SELECT categoryid,count(*) AS count
FROM product
GROUP BY categoryid
) AS x
ON x.categoryid = c.id
Пожалуйста, помогите мне достичь этого, используя критерии Hibernate Благодарности
Вы просто спрашиваете, как преобразовать эти критерии SQL в Hibernate? HQL/JPQL/критерии (Hibernate или JPA), все они не поддерживают оператор sub select в предложении 'JOIN' или' FROM'. – Tiny
@Tiny Должен ли я заключить, что это невозможно с использованием критериев – Shadow
Я рекомендую использовать Spring Data по спящему режиму, это сделает вашу жизнь намного проще. не тратьте время на написание таких общих запросов! – azerafati