JPA/JQL - Duvida sobre createQuery(query) em vários JOIN

Olá, pessoal!!

Estou aprendendo JPA, como criar query da JPA, mas como eu acostuma criar query nativo veja codigo 1, mas estou pouco meio complicado a implementar query da JPA por causa a logica.

Código 1

select f.*
	from feed f
	inner join professor p
	on 	f.autor = p.matriculaProfessor
	inner join turma t
	on t.professor = p.matriculaProfessor
	inner join notas n
	on n.turma = t.codTurma
	inner join aluno a
	on n.aluno = a.matriculaAluno
	inner join usuario u
	on a.usuario = u.idUsuario
	where u.idUsuario = 2

Veja o modelo ER que criei

Esse modelo ER foi gerar automático pelo Netbeans a estutura pronta das entidades.

Como escrever os joins e classes em filtro… esse é pouco mais complexo. por exemplo Classe professor não tem chave estrageira da Feed e Turma, só eles recebe chave estrangueiras da Professor. Estou pouco meio confudido como criar na JPA.

Olá, pessoal!

Estou tentando criar query na criteria com junção, mas não consegui funciona… a query nativo em cima e tentando criar JPA Criteria em baixo.

[code]
public List getListFeddByUsuario(Usuario u) {
EntityManager em = getEntityManager();
List list = new Vector();

    try {
        CriteriaBuilder cb = em.getCriteriaBuilder();
        CriteriaQuery<Feed> query = cb.createQuery(Feed.class);
        Root<Professor> rp = query.from(Professor.class);
        Root<Turma> rt = query.from(Turma.class);
        Root<Notas> rn = query.from(Notas.class);
        Root<Aluno> ra = query.from(Aluno.class);
        Root<Usuario> ru = query.from(Usuario.class);
        query.where(cb.equal(ru, u));

        Query q = em.createQuery(query);

        list = q.getResultList();
    } finally {
        em.close();
    }

    return list;
}[/code]

Mas o erro apareceu, veja em baixo:

Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘codFed’ in 'field list’
Error Code: 1054
Call: SELECT codFed, assunto, dataPublicar, descricao, autor FROM lpii_tf_agenda2.usuario WHERE (idUsuario = ?)
bind => [1 parameter bound]
Query: ReadAllQuery(referenceClass=Feed sql=“SELECT codFed, assunto, dataPublicar, descricao, autor FROM lpii_tf_agenda2.usuario WHERE (idUsuario = ?)”)
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)

Aguardo ao retorno, obrigado!