Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите составить запрос Criteria API / 8 сообщений из 8, страница 1 из 1
17.10.2014, 10:56
    #38779533
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос Criteria API
Есть таблица заказов
Код: 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
17.10.2014, 11:33
    #38779611
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос Criteria API
1) Напишите SQL запрос.
2) Преобразуйте в Criteria API
3) Profit!
...
Рейтинг: 0 / 0
17.10.2014, 14:31
    #38780042
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос Criteria API
Blazkowicz1) Напишите SQL запрос.
2) Преобразуйте в Criteria API
3) Profit!

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

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

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

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

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

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

JulT, как вариант можно завести поля в объекте client, но они будут не мапиться на конкретные столбцы, а рассчитываться при загрузке объекта. Правда тут вопрос: а стоит ли это делать при каждом запросе объекта?, может проще написать один sql запрос и вызывать его через getSessionFactory().getCurrentSession().createSQLQuery()
или иначе обыграть ситуацию.
...
Рейтинг: 0 / 0
20.10.2014, 08:51
    #38781428
WGA
WGA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос Criteria API
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
24.10.2014, 14:47
    #38786693
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос Criteria API
Всем спасибо!)
Разрулила все обычными запросами
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите составить запрос Criteria API / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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