Olá, Pessoal!
Mais um erro de executar é um erro de sintaxe da query em persistencia, veja a mensage de erro.
javax.faces.el.EvaluationException: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing the query [ select t from turma t inner join notas n on n.turma = t.codTurma inner join aluno a on n.aluno = a.matriculaAluno inner join usuario u on u.idUsuario = a.usuario where u.idUsuario = ?1 ].
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException
Mas esse query que testei no Banco de dados e funcionou e não apareceu erro. não entendo essa Persistencia ocorreu erro.
Eu estou criando o filtro para usuario para filtrar a receber os valores só a turma.
Código dentro da Controlador da JPA
public ArrayList<Turma> getTurmaList(Usuario u) {
EntityManager em = getEntityManager();
ArrayList<Turma> lista = new ArrayList<Turma>();
String query = " select t from turma t inner join notas n on n.turma = t.codTurma inner join aluno a on n.aluno = a.matriculaAluno inner join usuario u on u.idUsuario = a.usuario where u.idUsuario = ?1 ";
try {
if (getTurmaCount() > 0) {
lista = (ArrayList<Turma>) em.createQuery(query).setParameter(1, u).getResultList();
}
} finally {
em.close();
}
return lista;
}
Espero que me ajuda, obrigado!