Hibernate: criteria

4 respostas
C

O que eu gostaria de saber é como eu faço pra procurar por um atributo que não esta na mesma classe. Por exemplo:
procurar um contrato por nome do cliente que possui o contrato.
Seria assim:

Criteria crit = s.createCriteria( Contrato.class );
crit.add( Expression.like( "cliente.getNome()", "%"+nomeCliente+"%" ) );

Eu gostaria que retornasse o contrato que possui o cliente que tem o nome like “%”+nomeCliente+"%" .
do jeito que ta da pau!

4 Respostas

Guilherme_Moreira
Criteria crit = s.createCriteria( Contrato.class );
crit.createCriteria("cliente).add( Expression.like( "nome", "%"+nomeCliente+"%" ) );

me avise sobre se deu certo ou não!

julianoeustaquio

Mas para isto funcionar tem que ter a tabela relacionada corretamente.

C

@gui0rafa
Vlw, o seu funcionou sim!!!

@juliano
O seu não funcionou n cara =/.

Vlw pra vcs dois, brigadao!

C

Outra pergunta:

como é que eu procuro com criteria atraves de um atributo Set?

eu tenho uma classe exemplo:

class Pessoa{
          Set<Amigo> amigos;
}

Eu quero procurar uma pessoa que possui uma amigo com nome like “%nome%”.
como eu faço?
assim?:

Criteria crit = s.createCriteria( Pessoa.class );
		crit.createCriteria("amigos").add( Expression.like( "nome", "%"+nome+"%" ) );
Criado 25 de outubro de 2006
Ultima resposta 25 de out. de 2006
Respostas 4
Participantes 3