CreateCriteria tras lista vazia

Estou montando a segunte criteria mas minha lista sempre vem vazia.

[code]
HibernateUtility i = new HibernateUtility();
Session s = i.getSession();
Usuario usr = null;
Transaction t = s.beginTransaction();
Boolean erro = false;

Criteria criteria = s.createCriteria(Usuario.class)
.add(Restrictions.like(“nome”, getLogin()));

List l = (List)criteria.list() ;
erro = l.size() == 0;
if(erro){
System.out.println(“Não há um usuário com este nome”);
return “”+!erro;
}

[code]


import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="usuarios")
@SequenceGenerator(name="Seq_Usuario",sequenceName="Seq_Usuario")
public class Usuario implements Serializable {
	
	/**
	 * 
	 */
	private Integer id;
	private String nome;
	private String senha;
	private Boolean administrador;
	
	/**
	 * @return the id
	 */
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO,generator="Seq_Usuario")
	@Column(name="id")
	public Integer getId() {
		return id;
	}
	/**
	 * @param id the id to set
	 */
	
	public void setId(Integer id) {
		this.id = id;
	}
	/**
	 * @return the nome
	 */
	@Column(name="nome")
	public String getNome() {
		return nome;
	}
	/**
	 * @param nome the nome to set
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}
	/**
	 * @return the senha
	 */
	@Column(name="senha")
	public String getSenha() {
		return senha;
	}
	/**
	 * @param senha the senha to set
	 */
	public void setSenha(String senha) {
		this.senha = senha;
	}

	/**
	 * @param administrador the administrador to set
	 */
	@Column(name="administrador")
	public void setAdministrador(Boolean administrador) {
		this.administrador = administrador;
	}
	/**
	 * @return the administrador
	 */
	public Boolean getAdministrador() {
		return administrador;
	}

}

Bem, o que você quer fazer?

Pelo que vi no seu criteria… o resultado vai ser:

select * from usuario where nome not like "algumaCoisa"

Assim sendo a lista sempre vai vir populada… e o codigo l.size() == 0 vai ser false…

Nao sei, mas ACHO que voce quer fazer

.add(Expression.eq("nome", getLogin())); 

ou

.add(Expression.like("nome", getLogin()), MatchMode.ANYWHERE); 

Espero ter ajudado

Cara …
Tentei de várias maneiras (Restriction[eq, like], Expression[eq, like]) e nenhuma funfou.

mas agora fui conferir no db e vi que eu estava digitando um caracter em minúsculo e isso estava fazendo com que com a consulta não encontrasse nada.