public List<T> pesquisarComCondicaoComAlias(String alias, String propriedade, List<LogicalExpression> listExpress, String ordem) throws ValidacaoException {
        List<T> lista = new ArrayList<T>();
        try {
            Criteria criteria = session.createCriteria(classe);
            criteria.createAlias(propriedade, alias);
            if (listExpress != null) {
                for (LogicalExpression e : listExpress) {
                    criteria.add(e);
                }
            }
            ordenaPesquisa(ordem, criteria);
            lista = criteria.list();
        } catch (HibernateException e) {
            throw new ValidacaoException(e.getMessage());
        }
        return lista;

    }