Como fazer consulta usando criteria

Ae, estou fazendo uso da apostila de Vraptor disponibilizada no site…MUITO BOA…

Minha duvida é…como faço uma consulta na tabela passando como parametro o usuario logado.

criei na tabela, o campo usuario, assim é gravado o usuario logado na mesma, mas não consigo passar como parametro na consulta o usuario.

Como naum sei se fui claro…seguinte…to tentando consultar os registros gravados de acordo com o usuario. Assim um ususario naum sabera a lista de cd’s dos outros.

desde ja grato pela força,

Ve se eh isso q vc quer !

   public Usuario findById(int id) {
        session = factory.getSession();
        Criteria criter = session.createCriteria(Usuario.class);
        List resultado = criter.add(Restrictions.eq("id",new Integer(id))).list();
        if(resultado.size()>0){
            return (Usuario)resultado.iterator().next();
        }else{
            return null;
        }
    }

Criteria é um dos recursos mais interessantes do hibernate. Uma grande falha do JPA é não proporcionar uma API com a mesma funcionalidade.

Basicamente você cria uma criteria chamando o método createCriteria da session. Depois é só adicionar as características da busca na criteria.

A classe Restrictions é uma factory que possui diversos métodos para adicionar restrições a sua consulta. É legal dar uma olhada nestes métodos.

No caso do exemplo do amigo fabiel, você pode usar o método uniqueResult da criteria. Como sua busca é pelo ID, é esperado que o resultado seja apenas 1 objeto.

Ficaria assim:

 public Usuario findById(int id) {
         session = factory.getSession();
         Criteria criter = session.createCriteria(Usuario.class);
         criter.add(Restrictions.eq("id",new Integer(id)));
         return (Usuario) criter.uniqueResult();
 }

t+

Criteria é um dos recursos mais interessantes do hibernate. Uma grande falha do JPA é não proporcionar uma API com a mesma funcionalidade.

Basicamente você cria uma criteria chamando o método createCriteria da session. Depois é só adicionar as características da busca (restrições, agrupamentos, etc…) na criteria.

A classe Restrictions é uma factory que possui diversos métodos para adicionar restrições a sua consulta. É legal dar uma olhada nestes métodos.

No caso do exemplo do amigo fabiel, você pode usar o método uniqueResult da criteria. Como sua busca é pelo ID, é esperado que o resultado seja apenas 1 objeto.

Ficaria assim:

 public Usuario findById(Integer pId) {
         session = factory.getSession();
         Criteria criter = session.createCriteria(Usuario.class);
         criter.add(Restrictions.eq("id", pId));
         return (Usuario) criter.uniqueResult();
 }

esse código ainda não está legal, mas vale como exemplo.

t+

Ae galera…valeu pela força…

Mas sou ligeiramente verde no assunto ainda… :oops: então tentarei aqui adicionar este método mas seria de grande valia uma explicação mais a fundo de como e onde devo fazer estas informações
tipo, meu código

[code] public List listatudo() {

		return this.session.createCriteria(this.classe).list();
                }[/code]

isso no Dao.java

tenho tbm a classe AdminLogic.java onde faço o login.

valeu pela força,