Como buscar dados (N:N)

1 resposta
M

Olá, pessoal.

Estava olhando um tutorial sobre o Hibernate (da comunidade GUJ) e vi um relacionamento muitos para muitos. Tipo Aluno e Turma, ou seja, um aluno pode ter muitas turmas e uma turma pode ter muitos alunos.

Foi criado uma terceira tabela Turma_has_Aluno que contém os dados de ambas as tabelas para a associação.

Gostaria de saber como é que eu recupero todas as turmas de um determinado aluno via Hibernate??? Como deve ser o comando HQL?

Obs.: O Mapeamento e o modelo segue anexo.


1 Resposta

F

Via HQL vc pode fazer assim

Query query= “from Turma turma join Aluno aluno where aluno.id = :codigoAluno”

query.setParameter(“codigoAluno”, id);

ou via Criteria

Aluno aluno =(Aluno) hibernate.get(Aluno.class, id);

Criteria criteria = DetachedCriteria.forClass(Turma.class);

criteria.add(Expression.eq(aluno,aluno));

bom agora vc sempre tera q avaliar performace para nao prejudicar seu sistema !

Att

Criado 29 de março de 2007
Ultima resposta 30 de mar. de 2007
Respostas 1
Participantes 2