como posso faser a consulta com o hibernate?
segue o codigo abaixo
DAO
package br.com.ipb.persistencia.dao;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Criterion;
import br.com.ipb.util.HibernateUtil;
public class GenericDAO<T> {
private Session session;
@SuppressWarnings("unchecked")
public T save(T dto) throws Exception {
T dto1 = null;
try {
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.getTransaction().begin();
dto1 = (T) session.merge(dto);
session.beginTransaction().commit();
} catch (Exception e) {
session.beginTransaction().rollback();
e.printStackTrace();
}
return dto1;
}
@SuppressWarnings("unchecked")
public T getById(Class clazz, long id) throws Exception {
T dto1 = null;
try {
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.getTransaction().begin();
dto1 = (T) session.get(clazz.getClass(), id);
} catch (Exception e) {
e.printStackTrace();
}
return dto1;
}
@SuppressWarnings("unchecked")
public void delete(Class clazz, long id) throws Exception {
try {
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.getTransaction().begin();
T dto1 = (T) session.get(clazz.getClass(), id);
session.delete(dto1);
session.beginTransaction().commit();
} catch (Exception e) {
session.beginTransaction().rollback();
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
public List<T> getList(Class clazz, Criterion... criterions) throws Exception {
List<T> list = null;
try {
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.getTransaction().begin();
Criteria criteria = session.createCriteria(clazz.getClass());
for (Criterion c : criterions) {
criteria.add(c);
}
list = criteria.list();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
COMO POSSO CHAMAR O METODO DE CONSULTA AKI
import br.com.ipb.enumerador.EstadoCivil;
import br.com.ipb.enumerador.Sexo;
import br.com.ipb.persistencia.dao.GenericDAO;
import br.com.ipb.persistencia.entidade.Membro;
public class Execucao {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
Membro membro = new Membro();
membro.setNome("Dean");
membro.setSexo(Sexo.MASCULINO);
membro.setEstadoCivil(EstadoCivil.SOLTEIRO);
membro.setEmail("deanactive@gmail.com");
membro.setTelefone("(00)0000-0000");
GenericDAO<Membro> dao = new GenericDAO<Membro>();
dao.save(membro);
}
}