Como fazer esta consulta com Hibernate

2 respostas
N

Pessoal,

Estou com uma dúvida num relacionamento many-to-many no Hibernate.

Tenho uma Classe Cliente e uma Caracteristicas: um Cliente pode ter varias Caracteristicas e uma Caracteristica pode estar em vários Clientes. Faço esta associação através da classe Cliente usando dois “ListBox” com as Caracteristicas disponíveis e as já associadas.

O que tenho feito é obter todas as Caracteristicas e excluir as já associadas ao Cliente.

O que eu gostaria de fazer para melhorar a performance é obter via Hibernate as Caracteristicas disponiveis diretamente. Tipo

Select * from Caracteristicas 
Where not exists (Select IdCliente 
                           from Cliente_Caracteristica 
                           Where IdCliente = parametroIdCliente and Caracteristica.Id = Cliente_Caracteristica )

Só que quero fazer isto usando recursos do Hibernate, se possível, de forma mais elegante.

2 Respostas

doug

Olá Nilson Costa

Tenta fazer por criteria.... pode ficar melhor!!
  veja esses exemplos [url=http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.html] HIBERNATE CRITERIA[/url]

flwsss
espero ter ajudado

N

thiago,

Grato pelo retorno.
Eu conheço a Criteria do Hibernate, embora não seja um usuário avançado.
Mas não vejo como fazer a query sem referenciar a tabela de relacionamento.

Exemplo:

Cliente----------ClienteCaracteristica------------Catacteristica (many-to-many)

Como buscar as caracteristicas que ainda não estão relacionadas(associadas) ao cliente de maneira “OO” ou da melhor maneira possível?

Criado 11 de fevereiro de 2008
Ultima resposta 11 de fev. de 2008
Respostas 2
Participantes 2