Como consultar ao BD dados de tabelas distintas?

4 respostas
W

Boa tarde pessoal!!

Gostaria da ajuda de vcs. Eu tenho as seguintes classes:

Pessoa (idPessoa, nome, end, …) => Abstract

Funcionario (idFuncionario, idPessoa, dataCadastro, Salario, …) => Não é filha de Pessoa!!

Usuario (idUsuario, idFuncionario, login, senha, …)

Meu problema é o seguinte: preciso que Usuario faça uma consulta e liste os nomes do Funcionarios existentes, onde o nome esta gravado
em Pessoa!! Eu fiz a seguinte pesquisa:

jpql = (“SELECT p FROM Pessoa p, Funcionario f WHERE p.idPessoa == f.idPessoa”);

Pois nao funciona pelo Java, mas se eu executar o SQL diretamente pelo BD eu consigo o retorno dos dados!!

alguem poderia me apresentar uma solução???

desde já agradeço a todos!!!

4 Respostas

brenowbc

o certo dessa pesquisa seria

SELECT P.NOME_DO_CAMPO, F.NOME_DO_CAMPO
FROM PESSOA P, FUNCIONARIO F
WHERE P.idPessoa = F.idFuncionario;

qualquer coisa da uma olhada em PreparedStatement, que nele você pode colocar o codigo SQL direto.
um abraçço

W

Entao brenowbc o NOME_DO_CAMPO em funcionario eu nao tenho

pq eu gravo os dados gerais de um cadastro de pessoa em Pessoa e so mando o idPessoa pra funcionario indicando quem é ele, certo!!?

mas eu vo da uma olhadinha no PreparedStatement, tinha esquecido, vo ver se consigo, qq coisa eu posto denovo!!

vlw, abraco!!

brenowbc

ahhhhh, é que so uso PreparedStatement, ae eu coloco o codigo SQL diretamente na aplicação,
mas pelo que tou vendo você ta usando JPA, Hibernate ou algo do tipo é?
é que não sei usar essas API rsrs, ae não tou habituado com o código dela.

um abraço

C

sua sql ta certa… soh o ‘==’ eu acho q nao ta batendo legal n…porem nao conheco mt de java com bd… mas conheco sql … qualquer coisa posta ai

Criado 21 de julho de 2011
Ultima resposta 21 de jul. de 2011
Respostas 4
Participantes 3