Dúvida com Join no JPA[RESOLVIDO]

Preciso fazer um join básico no JPA,mas estou meio ‘amarrado’…ja fiz uma pesquisa mas n achei a solução

tb_cabecalho
id
responsavel_id

tb_responsavel
id
orgao_id

tb_orgao
id

Para pegar todos os cabeçalhos de determinado órgão eu faria essa consulta:

select c.* from tb_cabecalho c
inner join tb_responsavel r
on c.responsavel_id = r.id
and r.orgao_id=1

Como traduzir isso pro JPA?

Resolvido:

List<Cabecalho> cabecalhos = (List<Cabecalho>)getEntityManager().createQuery("select c from Cabecalho c
 join c.responsavel r 
join r.orgao where r.orgao.id=:orgao ")
		.setParameter("orgao",orgao.getId())
		.getResultList();

ressuscitando tópicos

seguinte tenho minhas tabelas
documento;
pessoa;
documento_autor;
como faria essa consulta em JPA:

SELECT p.nome AS "Autor", d.titulo AS "Titulo" FROM documento d join documento_autor da on da.cod_doc=d.codigo join pessoa p on da.cod_autor=p.codigo where d.titulo like'%a%';
tentei fazer assim:

óbvio não deu certo da esse erro:

[quote]
Erro durante a implantação: Exception while preparing the app : Exception [EclipseLink-8023] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query [documento: SELECT doc FROM Documento doc JOIN documento_autor da ON da.cod_doc = doc.codigo JOIN pessoa p ON p.codigo= da.cod_autor WHERE doc.titulo LIKE :titulo ORDER BY doc.titulo].
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException. Consulte o server.log para obter informações detalhadas.[/quote]

ai tentei seguir esse cara http://douglascrp.blogspot.com/2008/03/join-entre-classes-com-group-by.html
e fiz isso:

e deu o mesmo erro
tem como me ajudar valeu :smiley: