CRUD com Hibernate e JSF

Greetings everyone!
Estou desenvolvendo um CRUD com Hibernate, bem generico, que trabalha com Object banco com o hibernate.
Faço isso para nao usar aquele monte de DAOs que me irritam.
Vejam o codigo:

[code]
@Transactional(readOnly=true)
public class GenericCRUD implements Serializable, CRUDInterface {

public HibernateTemplate getHibernateTemplate() {
    return hibernateTemplate;
}

@Autowired
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
    this.hibernateTemplate = hibernateTemplate;
}

private Session getCurrentSession(){
    return hibernateTemplate.getSessionFactory().openSession();
}

@Override
@Transactional
public List buscarTodos(Class classe){
    criterio = getCurrentSession().createCriteria(classe);
    return criterio.list();
}

@Override
@Transactional
public Object buscarPorID(Class classe, Serializable id){
    return hibernateTemplate.get(classe, id);
}

@Override
@Transactional
public void salvarOuAtualizar(Object objeto){
    hibernateTemplate.saveOrUpdate(objeto);
}

@Override
@Transactional
public void excluir(Object objeto){
    hibernateTemplate.delete(objeto);
}

@Override
@Transactional
public List getByParametro(Class type, String parametro, String valor){
    criterio = getCurrentSession().createCriteria(type);
    criterio.setMaxResults(10);
    criterio.add(Restrictions.ilike(parametro, valor));
    return criterio.list();
}

private HibernateTemplate hibernateTemplate;
private Criteria criterio;

}[/code]

Continuo tendo varios objetos da classe GenericCRUD em cada BackingBean.
Assim:

[code]private CRUDInterface DAOGenerico;

@Autowired
public void setDAOGenerico(CRUDInterface DAOGenerico) {
    this.DAOGenerico = DAOGenerico;
}

public void cadastrar() {
        DAOGenerico.salvarOuAtualizar(cliente);
}[/code]

A questao eh:

Devo tornar esses metodos estaticos e nao ter repeticoes de objectos e de sessionfactorys e etc, visto que cada session do controller tera um deste objeto, lembrando que eh tudo instanciado pelo Spring como singletons?