Как я могу преобразовать это выражение SQL в пользовательский @Query JPSQ и сопоставить его с новым объектом в Java Spring Boot через JPARepository
SELECT DOCUMENT_TYPE.TITLE, SUM(case when DOCUMENT.DOCUMENT_STATE = 1 then 1 else 0 end) as CREATED, SUM(case when DOCUMENT.DOCUMENT_STATE = 0 then 1 else 0 end) as SUBMITTED FROM DOCUMENT_TYPE JOIN DOCUMENT ON DOCUMENT_TYPE.ID = DOCUMENT.DOCTYPE_ID WHERE DOCUMENT.DOCTYPE_ID IN ('93227282-713d-4465-b296-a215b917a0b0', 'a9b29894-9952-4ec4-b854-d19f01c28a37') GROUP BY DOCUMENT_TYPE.TITLE
У меня есть объекты:
Документ.java сопоставленное одностороннее отношение к DocumentType
@ManyToOne
@JoinColumn(name = "doctype_id")
private DocumentType documentType;
private DocumentState documentState;
Состояние документа enum представлено в базе данных с целым числом 0, 1 ...
Как мневыберите DocumenType.title, Суммы документов с состояниями 1 и 0 отдельно и сопоставьте их с новым объектом TypeStats.java с полями
public class TypeStats {
private String title;
private Long stateSubmitted;
private Long stateApproved;
Так что в конце я хочу получить запрос для получения информации о сумме (отдельныйдля каждого) документов с двумя различными состояниями (отправлено и утверждено) с идентификатором типа документа, переданным в качестве аргумента.Как я могу сделать это с помощью одного запроса JPQL и сопоставления с новым объектом.