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