JPA - Sub query JOIN e SUM

Olá,

Esse um query é complexo como utilizar a criar query para JPA, qual link que dá mais dicas como desenvolver JPA.

Como exemplo que to usando query para testar no BD antes de passar na JPA.

Query nativo

SELECT 
    d.nomeDisciplina as disciplina,
    tf.total as "total frequencia",
    n.notafinal as "Nota final",
    case
        when
            n.notaFinal != null and t.estado = 0
        then
            (case
                when n.notafinal != 'C' and tf.total < 16 then 'Aprovado'
                else 'Reprovado'
            end)
        
    end as "resultado",
	case when t.estado = 1 then "Encerrado" else "Cursando" end as "Estado"
FROM
    notas n
        INNER JOIN
    (SELECT 
        f.notas_turma,
            f.notas_aluno,
            SUM(f.f1 + f.f2 + f.f3 + f.f4) total
    FROM
        frequencia f
    group by f.notas_aluno , f.notas_turma) tf ON tf.notas_turma = n.turma
        and tf.notas_aluno = n.aluno
        inner join
    turma t ON n.turma = t.codTurma
        inner join
    disciplina d ON t.disciplina = d.codDisciplina
        inner join
    aluno a ON n.aluno = a.matriculaAluno
        inner join
    usuario u ON a.usuario = u.idUsuario
where
    u.idUsuario = 2

Modelo ER

Espero que dá as dicas… obrigados