Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida com o meu datatable e o select

Galera supondo tenho 2 classes uma de Cliente e outra de Endereco na Classe Cliente tenho meus atributos porem vou ter um atributo do tipo List do tipo Endereco, entao vou precisar fazer essa lista com os seus atributos.

Agora vou ter uma Classe DAO e fazer um select para pegar uma lista do usuario no banco algo parecido com isso.

public List<Cliente> lstClientes() {
        EntityManager manager = new JPAUtil().geEntityManager();
        Query query = manager.createQuery("Select c from Cliente c");
        List<Cliente> clientes = query.getResultList();
        return clientes;
    }

Porem aqui é uma duvida minha, aqui só estou buscando os meus clientes correto? Como fazer um select para busca os clientes e seus endereços adicionados? Como seria esse select?

Depois tenho uma outra que é relacionada a essa duvida. No meu xhtml cliente vou ter um datable parecido com esse.

<h:dataTable id="tabelaCliente" var="cliente" value="#{clienteController.clientes}" style="font-size: 20px">
                    <h:column>
                        <f:facet name="header">Nome</f:facet>
                        <h:outputText value="#{cliente.nome}" style="font-style: italic; color: navy"/>
                    </h:column>

Aqui só estou puxando o meu nome, claro consigo puxar dos os atributos do Classe Cliente, Oque eu queria era aparecer o meu Endereco como ficaria para puxar o meu cliente junto com o seu endereço?

<h:dataTable id="tabelaCliente" var="cliente" value="#{clienteController.clientes}" style="font-size: 20px">
                    <h:column>
                        <f:facet name="header">Nome</f:facet>
                        <h:outputText value="#{cliente.nome}" style="font-style: italic; color: navy"/>
                    </h:column>
2 respostas
solução!

Você pode utilizar:

SELECT c FROM Cliente c JOIN FETCH c.enderecos

Considerando, claro que sua relação @OneToMany foi criada corretamente, mapeando endereços para o respectivo atributo.

Caso ainda não o tenha feito, fala que a gente te ajuda também, mas esses detalhes você vai ver melhor nesse curso:

https://cursos.alura.com.br/course/jpa

Abraços e bons estudos!

Obrigado