Я использую Hibernate 6.6.29.Final и Spring Boot 3.5.6
Я хочу получить запрос типа
(
SELECT LISTAGG(la.case_number, '; ') WITHIN GROUP (ORDER BY la.case_number) AS case_number
FROM (
SELECT DISTINCT la.case_number
FROM law_act_bg la
LEFT JOIN law_act_bg_responsible lr ON lr.r_act_id = la.id AND NVL(lr.flag_no_work, 0) = 0
LEFT JOIN corp_users cu ON cu.cu_cu_id = lr.r_user_id
LEFT JOIN dict d11 ON d11.parent_id = 11 AND d11.code = la.status
WHERE la.r_card_bg_id = lc.id
AND NVL(la.status, 0) 15
AND la.case_number IS NOT NULL
) la
) AS case_number
FROM
law_card_bg lc
но когда я добавляю условие
cb.equal(laCaseInner.get(LawActBgEntity_.rCardBgId), root.get(LawCardBgEntity_.id)),
Я получаю сообщение об ошибке
Не удалось найти TableGroup -entity.LawCardBgEntity(103)
пожалуйста, расскажите мне, как это исправить или есть ли альтернативы для выполнения такого запроса.
полный код
JpaRoot laCaseInner = sqCaseNumberInner.from(LawActBgEntity.class);
sqCaseNumberInner.multiselect(laCaseInner.get(LawActBgEntity_.caseNumber).alias("case_number"))
.where(cb.and(
cb.equal(laCaseInner.get(LawActBgEntity_.rCardBgId), root.get(LawCardBgEntity_.id)),
cb.notEqual(cb.coalesce(laCaseInner.get(LawActBgEntity_.statusCode), cb.literal(0L)), cb.literal(15L)),
cb.isNotNull(laCaseInner.get(LawActBgEntity_.caseNumber))
)).distinct(true);
JpaSubQuery sqCaseNumber = cq.subquery(String.class);
JpaDerivedRoot rootCaseNumber = sqCaseNumber.from(sqCaseNumberInner);
sqCaseNumber.select(cb.listagg(cb.asc(rootCaseNumber), rootCaseNumber.get("case_number"), "; "));
subquery.multiselect(
sqCaseNumber.getSelection().alias("case_number"),
…)
Подробнее здесь: https://stackoverflow.com/questions/798 ... subqueries
Hibernate 6 Не удалось найти TableGroup (подзапросы) ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1769804438
Anonymous
Я использую Hibernate 6.6.29.Final и Spring Boot 3.5.6
Я хочу получить запрос типа
(
SELECT LISTAGG(la.case_number, '; ') WITHIN GROUP (ORDER BY la.case_number) AS case_number
FROM (
SELECT DISTINCT la.case_number
FROM law_act_bg la
LEFT JOIN law_act_bg_responsible lr ON lr.r_act_id = la.id AND NVL(lr.flag_no_work, 0) = 0
LEFT JOIN corp_users cu ON cu.cu_cu_id = lr.r_user_id
LEFT JOIN dict d11 ON d11.parent_id = 11 AND d11.code = la.status
WHERE la.r_card_bg_id = lc.id
AND NVL(la.status, 0) 15
AND la.case_number IS NOT NULL
) la
) AS case_number
FROM
law_card_bg lc
но когда я добавляю условие
cb.equal(laCaseInner.get(LawActBgEntity_.rCardBgId), root.get(LawCardBgEntity_.id)),
Я получаю сообщение об ошибке
Не удалось найти TableGroup -entity.LawCardBgEntity(103)
пожалуйста, расскажите мне, как это исправить или есть ли альтернативы для выполнения такого запроса.
полный код
JpaRoot laCaseInner = sqCaseNumberInner.from(LawActBgEntity.class);
sqCaseNumberInner.multiselect(laCaseInner.get(LawActBgEntity_.caseNumber).alias("case_number"))
.where(cb.and(
cb.equal(laCaseInner.get(LawActBgEntity_.rCardBgId), root.get(LawCardBgEntity_.id)),
cb.notEqual(cb.coalesce(laCaseInner.get(LawActBgEntity_.statusCode), cb.literal(0L)), cb.literal(15L)),
cb.isNotNull(laCaseInner.get(LawActBgEntity_.caseNumber))
)).distinct(true);
JpaSubQuery sqCaseNumber = cq.subquery(String.class);
JpaDerivedRoot rootCaseNumber = sqCaseNumber.from(sqCaseNumberInner);
sqCaseNumber.select(cb.listagg(cb.asc(rootCaseNumber), rootCaseNumber.get("case_number"), "; "));
subquery.multiselect(
sqCaseNumber.getSelection().alias("case_number"),
…)
Подробнее здесь: [url]https://stackoverflow.com/questions/79879695/hibernate-6-could-not-locate-tablegroup-subqueries[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия