Filtros para consulta utilizando Left Join

Daí galera, tudo certo? Bem, estou fazendo alguns filtros em meu projeto utilizando Fk’s e Left join. Pois bem, o que está funcionando perfeitamente fiz da seguinte maneira:
Filtro o acervo pelo tipo do material, ou seja a é o prefixo do objeto; acetimate é o objeto do TipoMaterial (Tipo Material acetipomate --> que eu tenho no domínio de acervo) e tipoDescricao é a String que eu tenho no TipoMaterial.
Abaixo está o código:

 public List<Acervo> findAcervoByTipoMaterial(String tipoDescricao) {
        if (tipoDescricao == null) {
            return null;
        }
        FiltrosConsulta filtros = new FiltrosConsulta();
        filtros.add("a.acetipomate.tipoDescricao = :acetipomate", "acetipomate", tipoDescricao, false, null);
        List<Acervo> acervolista = crudService.executeQuery("select a from Acervo a left join fetch a.acetipomate ", filtros);  
        return acervolista;
    }

No meu xhtml:

<tr>
                                            <td align="right">Tipo do Material:</td>
                                            <td>
                                                <p:selectOneMenu value="#{emprestimosxExemplaresJsfBean.tipoDescricao}"> 
                                                    <f:selectItem  itemLabel="Todos" itemValue="#{null}"/>
                                                    <f:selectItems value="#{emprestimosxExemplaresJsfBean.tipoMaterialList}" var="m" itemLabel="#{m.tipoDescricao}" itemValue="#{m.tipoCodigo}"/>
                                                    <f:ajax immediate="" render="acervofiltro"  event="change" listener="#{emprestimosxExemplaresJsfBean.atualizarTipoMaterial(event)}" />
                                                </p:selectOneMenu>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td align="right">Acervo:</td>
                                            <td>
                                                <p:selectOneMenu id="acervofiltro" value="#{emprestimosxExemplaresJsfBean.aceTitulo}"> 
                                                    <f:selectItem itemLabel="Todos" itemValue="#{null}"/>
                                                    <f:selectItems value="#{emprestimosxExemplaresJsfBean.acervoList}" var="a" itemLabel="#{a.aceTitulo}" itemValue="#{a.aceCodigo}" />
                                                </p:selectOneMenu>
                                            </td>
                                        </tr>

Já nesse que vou postar abaixo tenho que percorrer o seguinte caminho:
exe sendo o prefixo do objeto de empréstimoXexemplar; emxexCodemprest sendo o objeto para ir no Emprestimos; empCodusuario sendo o objeto para ir de Emprestimo para Usuario, usuCodigo, o integer que tenho no Usuario e usuNome, o nome do mesmo.
Nesse filtro, “pego” todos os empréstimos pendentes a partir de cada usuario.
Abaixo, o filtro:

    public List<EmprestimosxExemplares> findEmpXExeByUsuario(String renCodemxex) {
        if (renCodemxex == null) {
            return null;
        }
        FiltrosConsulta filtros = new FiltrosConsulta();
        filtros.add("exe.emxexCodemprest.empCodusuario.usuCodigo = :usuNome", "usuNome", renCodemxex, false, null);
        List<EmprestimosxExemplares> empXexelista = crudService.executeQuery("select exe from EmprestimosxExemplares exe left join fetch exe.emxexCodemprest ", filtros);  
        return empXexelista;
    }

Então, não estou conseguindo fazer esse left join…já pesquisei, me basiei em alguns, mas não deu muito certo.
Se alguém puder ajudar, Agradeço .