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!
Criteria crit = s.createCriteria( Contrato.class );
crit.createCriteria("cliente).add( Expression.like( "nome", "%"+nomeCliente+"%" ) );
me avise sobre se deu certo ou não!
Mas para isto funcionar tem que ter a tabela relacionada corretamente.
@gui0rafa
Vlw, o seu funcionou sim!!!
@juliano
O seu não funcionou n cara =/.
Vlw pra vcs dois, brigadao!
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+"%" ) );