Pessoal,
Como eu monto uma query em hql que me ajude a pegar os dados da seguinte maneira (vou escrever em sql que dai acho que fica facil pra todo mundo entender):
isto é eu quero pegar todos os contatos que atendam a um determinado rotulo.
Segue as classes e seus mapeamentos:
//Classe Contato
Integer id;
Set<RotuloContato> rotuloContato;
//Classe RotuloContato
Integer id;
Contato contato;
Rotulo rotulo;
//Classe Rotulo
Integer id;
String descricao;
Obs: Como podem ver um contato possui um conjunto de rotulosContato (objeto que, como verao, representa um relacionamento entre um ou mais contatos e um rotulo).
Mapeamentos
//Contato
<id> ... </id>
<set name="rotulosContato" inverse="true" cascade="all-delete-orphan">
<key column="ID_CONTATO"/>
<one-to-many class="model.RotuloContato"/>
</set>
//RotuloContato
<id> ... </id>
<many-to-one name="contato" class="model.Contato" column="ID_CONTATO"/>
<component name="rotulo" class="model.Rotulo">
<property name="id" column="ID_ROTULO" type="int"/>
</component>
//Rotulo
<id> ... </id>
<property name="descricao" type="java.lang.String" .../>
Como podem ver o objeto rotulo da classe RotuloContato esta mapeado como um componente do hibernate.
Eu nao sei como representar numa query hql que o que quero eh todos os objetos Contato que contenham em seu objeto RotulosContato um objeto Rotulo com id=‘1’ por exemplo!
Obrigado pela ajuda q estao dando pessoal…