Listar com DAOGENERICO JSF

5 respostas
N

Bom dia galera estou com um problema… eu tenho este DaoGenerico

package dao;

import java.io.Serializable;
import java.util.List;

public interface DaoGenerico {

    public Object save(Object objeto);

    public void delete(Object objeto);

    public List list(Class clazz);

    public List listCriterio(Class clazz, String atributo, String criterio);

    public Object getById(Serializable id, Class clazz);


}

este é o meu DaoHibernateGenerico

package dao;

import br.com.teste.controller.PessoaMB;
import br.com.teste.models.Pessoa;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import util.HibernateUtil;

public class DaoHibernateGenerico implements DaoGenerico {

    @Override
    public Object save(Object objeto) {
        try {
            Object obj = null;
            HibernateUtil.beginTransaction();
            obj = HibernateUtil.getSession().merge(objeto);
            HibernateUtil.commitTransaction();
            HibernateUtil.closeSession();
            return obj;
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            HibernateUtil.closeSession();
            throw hibernateException;
        }
    }

    @Override
    public void delete(Object objeto) {
        try {
            HibernateUtil.beginTransaction();
            HibernateUtil.getSession().delete(objeto);
            HibernateUtil.commitTransaction();
            HibernateUtil.closeSession();
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            throw new RuntimeException(hibernateException);
        }
    }

    @Override
    public List list(Class clazz) {
        try {
            List lista = null;
            lista = HibernateUtil.getSession().createCriteria(clazz).list();
            return lista;
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            throw new RuntimeException(hibernateException);
        }
    }

    @Override
    public Object getById(Serializable id, Class clazz) {
        try {
            Object obj = HibernateUtil.getSession().get(clazz, id);
            return obj;
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            throw new RuntimeException(hibernateException);
        }
    }

    @Override
    public List listCriterio(Class clazz, String atributo, String criterio) {
        try {
            List lista = null;
            Criteria crit = HibernateUtil.getSession().createCriteria(clazz, atributo);
            crit.add(Restrictions.ilike(atributo, "%" + criterio + "%"));
            crit.addOrder(Order.asc(atributo));
            crit.setMaxResults(30);
            lista = crit.list();
            //HibernateUtil.closeSession();
            return lista;
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            throw new RuntimeException(hibernateException);
        }
    }

   

}

e minha class MB -> PessoaMB

package br.com.teste.controller;

import br.com.teste.models.Pessoa;
import dao.DaoGenerico;
import dao.DaoHibernateGenerico;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.enterprise.context.SessionScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.inject.Named;

/**
 *
 * @author tmeneghello
 */
@Named(value = "pessoaMB")
public class PessoaMB implements Serializable {

    private Pessoa pessoa = new Pessoa();
    public DataModel listaPessoa;
    DaoGenerico dao = new DaoHibernateGenerico(); 

        

    /** Creates a new instance of PessoaMB */
    public PessoaMB() {
    }

    public Pessoa getPessoa() {
        return pessoa;
    }

    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    public List<Pessoa> listaPessoas() {
        List<Pessoa> listaPessoas = new ArrayList<Pessoa>();
        dao.list(Pessoa.class);
        return listaPessoas;

    }
    
    public void adicionarPessoa() {

        dao.save(pessoa);
        if (pessoa.getId() > 0) {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage("Novo Cliente Adicionado com Sucesso!"));
        } else {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage("Ocorreu um erro na tentativa de salvar um novo Cliente!"));
        }
    }
        
}

Eu não consigo fazer meu listaPessoa() trazer meus dados salvos no banco… como faço =O!!!

5 Respostas

C

Tenta fazer isso ai…

public List listaPessoas() {

List listaPessoas = new ArrayList();

listaPessoas = dao.list(Pessoa.class);

return listaPessoas;

}

C

comphsfo:
Tenta fazer isso ai…

public List listaPessoas() {

List listaPessoas = new ArrayList();

listaPessoas = dao.list(Pessoa.class);

return listaPessoas;

}

N

não deu brother deu erro na minha VIEW JSF

/view/Pessoa.xhtml @41,145 value="#{pessoaMB.listaPessoas}": The class ‘br.com.teste.controller.PessoaMB’ does not have the property ‘listaPessoas’.

jyoshiriro

Renomeie o método

public List<Pessoa> listaPessoas() {

para

public List<Pessoa> getListaPessoas() {

e veja se funciona.

N

nada…

Criado 10 de junho de 2011
Ultima resposta 10 de jun. de 2011
Respostas 5
Participantes 3