Ajuda com Criteria - Transformar query normal em criteria

Pessoal,

tenho a seguinte query:

SQLQuery query = session.createSQLQuery(
                (new StringBuilder()).append(  
                "SELECT colaborador.nome, ferias.* FROM ferias "
                + "LEFT JOIN colaborador "
                + "ON ferias.id_colaborador = colaborador.id_colaborador "
                + "WHERE "
                + "(p1_inicio BETWEEN '").append(dataInicial).append("' AND '").append(dataFinal).append("') OR ")
                .append("(p1_fim BETWEEN '").append(dataInicial).append("' AND '").append(dataFinal).append("')")
                .toString());        

Só que queria fazer esse select usando criteira e suas restrictions, já tentei, mas não dá certo, não está mostrando nada:

Criteria c = session.createCriteria(Ferias.class);
        
        c.add(Restrictions.between("p1Inicio", dataInicial, dataFinal));
        //c.add(Restrictions.between("p1Fim", dataInicial, dataFinal));

Como escrever a query acima citada em criteira?

alguem?