powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите составить запрос Criteria API
8 сообщений из 8, страница 1 из 1
Помогите составить запрос Criteria API
    #38779533
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица заказов
Код: plaintext
1.
2.
3.
4.
5.
orders
id id_client   status
1    2          complete
2    2          canceled
3    3          complete
Есть таблица клиентов
Код: plaintext
1.
2.
3.
4.
client 
id name
2   Вася
3   Коля
Нужно вывести статистику по клиенту: имя, кол-во отмененных заказов, кол-во завершенных заказов
как получить кол-во отдельно и собрать воедино я знаю, а как мне используя criteria api получить нужную инфу одним запросом?
Помогите пожалуйста. Спасибо!
...
Рейтинг: 0 / 0
Помогите составить запрос Criteria API
    #38779611
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Напишите SQL запрос.
2) Преобразуйте в Criteria API
3) Profit!
...
Рейтинг: 0 / 0
Помогите составить запрос Criteria API
    #38780042
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz1) Напишите SQL запрос.
2) Преобразуйте в Criteria API
3) Profit!

1) Выбросить ORM
2) Настроить JdbcTemplate
...
3) Profit

:-)
...
Рейтинг: 0 / 0
Помогите составить запрос Criteria API
    #38780045
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,

JdbcTemplate зло. QueryDSL рулит.
...
Рейтинг: 0 / 0
Помогите составить запрос Criteria API
    #38781393
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczmad_nazgul,

JdbcTemplate зло. QueryDSL рулит.

С точностью до наоборот :-)
...
Рейтинг: 0 / 0
Помогите составить запрос Criteria API
    #38781418
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz & mad_nazgul ,
ну что вы человеку голову дурите :)

критерия не для того, чтоб кастомные запросы к БД пулять. Если нужно всякого рода агрегации и сводные данные, то не проще ли использовать просто sql. Criteria удобна для вытаскивания объектов и иерархий по условиям, а не для скрещивания ежа с пылесосом.

JulT, как вариант можно завести поля в объекте client, но они будут не мапиться на конкретные столбцы, а рассчитываться при загрузке объекта. Правда тут вопрос: а стоит ли это делать при каждом запросе объекта?, может проще написать один sql запрос и вызывать его через getSessionFactory().getCurrentSession().createSQLQuery()
или иначе обыграть ситуацию.
...
Рейтинг: 0 / 0
Помогите составить запрос Criteria API
    #38781428
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
JulTЕсть таблица заказов
Код: plaintext
1.
2.
3.
4.
5.
orders
id id_client   status
1    2          complete
2    2          canceled
3    3          complete
Есть таблица клиентов
Код: plaintext
1.
2.
3.
4.
client 
id name
2   Вася
3   Коля
Нужно вывести статистику по клиенту: имя, кол-во отмененных заказов, кол-во завершенных заказов
как получить кол-во отдельно и собрать воедино я знаю, а как мне используя criteria api получить нужную инфу одним запросом?
Помогите пожалуйста. Спасибо!Criteria API здесь совершенно не нужен.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select 
  c.id,
  c.name,
  count(case when o.status = 'completed' then 1 end) as completed_cnt,
  count(case when o.status != 'completed' then 1 end) as incompleted_cnt
from client c
  left join orders o on c.id = o.id_client
group by c.id, c.name
...
Рейтинг: 0 / 0
Помогите составить запрос Criteria API
    #38786693
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо!)
Разрулила все обычными запросами
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите составить запрос Criteria API
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]