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!!!