Итак, моя цель - создать определенную книгу (с данным идентификатором), чтобы получить опубликованную версию для каждого языка. Если нет опубликованной версии, мне нужно получить самую последнюю по метке времени.Order By Before Group By в JPA Spring Repository
Мне нужно сделать запрос, посредством которого заказ выполняется перед группой.
Я знаю, что в SQL вы можете сделать (примерно)
Select * From
(Select b from Book as b where b.author = ?1 ORDER BY (case when b.info.status=published then 1 else 2) asc, b.timestamp desc)
GroupBy book.language
Однако я не знаю, как сделать подобный присоединиться Копание запрос в JPA хранилище с помощью спящего режима. Я знаю, что это не работает, так как порядок теряется из-за «в»
Select a From book a where a.id in
(Select b from Book as b where b.author=?1 ORDER BY (case when b.info.status=published then 1 else 2) asc, b.timestamp desc)
GroupBy a.language
Как проходит и проверки в, это означает, что порядок не соблюдается. Есть ли способ сделать этот запрос в репозитории jpa?
Я не хочу, чтобы сделать «для каждого» и получить изданную/последнее, так как это будет очень неэффективно
книги установлены как
книги | автор | Информация ID
Тогда информация идентификатор:
infoid | язык | временная метка | статус 0 .........
Пример Целью было бы: Получить j.k. rowlings опубликованы/последнее в каждом языке
Пример настройка книги будет
book | author | info id
1 |Rowling |1
2 |Rowling |2
3 |Rowling |3
4 |Rowling |4
5 |Tolkein |5
информация:
id|lang|ts | status
1 |en |1 | published
2 |de |5 | unpublished
3 |de |3 | unpublished
4 |en |9 | unpublished
5 |en |4 | published
запрашивающего это woudl вернуть книгу 1 (как опубликовано и на английском языке), и 2 (как в de, с наивысшей отметкой времени)
ГРУППА BY (2 слова)? –
Вы думаете, что будет больше книг с одинаковым идентификатором информации? Или будет больше идентификатора информации с той же книгой? В разных книжных записях могут быть разные авторы, будет ли это нормально? – peterh
Привет Прошу прощения за то, что вы не поняли Каждая книга будет иметь свой собственный идентификатор. У одного автора будет несколько книг. Есть несколько авторов, однако я буду заинтересован в этом, в частности. Поэтому целью является получение опубликованного, в противном случае последнего, для каждого языка каждой книги для конкретного автора. Подумайте о книгах как о дополнительных изменениях. – user1628284