Qual método que uso com criteria que seleciona os valores, exceto uma condição que eu escolher.
Exemplo: liste todos os números, exceto número igual=1;
obrigado!
Qual método que uso com criteria que seleciona os valores, exceto uma condição que eu escolher.
Exemplo: liste todos os números, exceto número igual=1;
obrigado!
Nesse exemplo eu busco todos telefones menos o que possui o id = 10;
return getSession().createCriteria(Telefone.class)
.add(Restrictions.not(Restrictions.idEq(10)))
.list();
romarcio, deu certo.
Agora gostaria que você me ajudasse, além dessa restrição gostaria de colocar uma outra no mesmo comando
Essa restrição é: Além colocar a primeira restrição tenho que listar apenas os usuários que tem determinada autorização
Veja como ficou minha consulta
return session.createCriteria(Usuario.class).add(Restrictions.not(Restrictions.idEq(uc.getUsuario().getLogin())))
.add(Restrictions.eq("autorizacao", 1)).list();
Na tabela usuário eu coloco o código da autorizacao. Portanto imagino que o comando acima daria certo, visto que existem autorizacao com codigo “1” e que olhando no banco de dados, na tabela usuario há o valor 1 em alguns campos também.
O que está ocorrendo de errado? Quando tiro o Ultimo Restrictions ele lista todos os logins, porem quero listar apenas determinado logins.
Obrigado pela ajuda fera! 
Você montou de forma correta a consulta. Deveria ter dado certo.
Faz um teste, assim:
Vê se retorna somente os usuários com restrição 1.
Uma coisa, quando usa idEq() é só para campos do tipo id. Seu getLogin() é um id ou uma String?
Se for String, troca o ideq() por eq(), ou like().
Como autorizacao era uma chave estrangeira, tive que fazer uma Alias
a.setId(3);
return session.createCriteria(Usuario.class).add(Restrictions.not(Restrictions.idEq(uc.getUsuario().getLogin())))
.createAlias("autorizacao", "id").add(Restrictions.eq("autorizacao.id", a.getId())).list();
Obrigado