Предположим, что у меня есть 3 таблицыКак конвертировать Native запрос в JPA Query
STUDENT
----------------------
STUDENT_ID | FULL_NAME
======================
SUBJECT
-----------------------------------------------------------------------
SUBJECT_ID | SUBJECT_NAME | STATUS | START_DATE | END_DATE | STUDENT_ID
=======================================================================
CLAZZ
-------------------------------------------
CLAZZ_ID | CLAZZ_NAME | STATUS | STUDENT_ID
===========================================
Я хочу, чтобы получить количество предметов и классов, которые студент учиться в определенный период времени. Поэтому я могу использовать этот родной SQL:
WITH SUBJECT_COUNT AS (
SELECT STUDENT_ID, COUNT(*) AS SUB_COUNT
FROM SUBJECT
WHERE STATUS=1 AND DateParam >= START_DATE AND DateParam <= END_DATE
GROUP BY STUDENT_ID
), CLAZZ_COUNT AS (
SELECT STUDENT_ID, COUNT(*) AS CLZ_COUNT
FROM CLAZZ
WHERE STATUS=1
GROUP BY STUDENT_ID
)
SELECT S.STUDENT_ID, S.FULL_NAME, SC.SUB_COUNT, CC.CLZ_COUNT
FROM STUDENT S
LEFT JOIN SUBJECT_COUNT SC ON S.STUDENT_ID=SC.STUDENT_ID
LEFT JOIN CLAZZ_COUNT CC ON S.STUDENT_ID=CC.STUDENT_ID
ORDER BY SC.SUB_COUNT, CC.CLZ_COUNT
Как я могу преобразовать этот родной SQL в JPA 2.1 SQL. Или любые другие решения, которые могут получить один и тот же результат, были бы хорошими. Большое спасибо
Почему вы не можете использовать 'NativeQuery'? – HAYMbl4
Мой проект использует почти запрос JPA. И он использует один метод для сопоставления данных и объекта POJO. Я не хочу использовать другой способ – hieund