Como fazer um inner join no Hibernate?

Bom dia a todos,

andei pesquisando aqui no portal, mas não consegui resolver meu problema, que deve ser bem simples.

preciso fazer um join entre duas tabelas: Pessoa e Endereco:

Pessoa

idPessoa
nome
dataNascimento


Endereco

idEndereco
Pessoa_id
rua
numero

estou usando a seguinte query no hibernate:

List l = s.find(“select p.nome, e.rua from Pessoa as p join Endereco as e”);

Mas quando compilo o programa, a seguinte mensagem de erro ocorre:

outer or full join must be followed by path expression [select p.nome, e.rua from Pessoa as p join Endereco as e]

Será q alguém poderia me ajudar??

valeu;

estou com o mesmo problema… conseguiu solução para o teu?

[quote=“javax”]Bom dia a todos,

andei pesquisando aqui no portal, mas não consegui resolver meu problema, que deve ser bem simples.

preciso fazer um join entre duas tabelas: Pessoa e Endereco:

Pessoa

idPessoa
nome
dataNascimento


Endereco

idEndereco
Pessoa_id
rua
numero

estou usando a seguinte query no hibernate:

List l = s.find(“select p.nome, e.rua from Pessoa as p join Endereco as e”);

Mas quando compilo o programa, a seguinte mensagem de erro ocorre:

outer or full join must be followed by path expression [select p.nome, e.rua from Pessoa as p join Endereco as e]

Será q alguém poderia me ajudar??

valeu;[/quote]
Cara na verdade seria interessante vc colocar aqui o mapeamento referente à classe Pessoa , ficaria mais facil de eu te ajudar, pois acho que se mapeamento nao deve ter sido feito da forma correta , pois 2 pessoas podem ter o mesmo endereço (pai e filho, por exemplo)… fazendo dessa forma vc trazendo um objeto pessoa vc automaticamente terá um objeto Endereço … coloca pra gente o mapeamento ai … abraço

O problema ocorre porque você está tentando fazer um join entre duas classes que não estão relacionadas no mapeamento.

o correto seria A a join A.B b

Mesmo que as tabelas estejam relacionadas, este tipo de HQL só funciona para o caso que eu falei.

Solução: