Olá
estou começando com JPA e tenho uma dúvida que acredito que seja simples.
Tenho a seguinte relação:
Funcionário <-> (many to one) <-> Pessoa <-> (one to one) <-> Documentos
Ou seja, uma pessoa tem apenas um conjunto de documentos e pode ter vários registros de funcionário.
Minha tela mostra o nome (Pessoa) e a data de admissão (Funcionário). Consegui reverter o problema N+1 usando o JOIN FETCH em minha query. Antes de eu adicionar a entidade documentos, a tela carregava rapidamente. Porém, depois que adicionei essa entidade o carregamento ficou super lento, pelo console, consigo ver que está sendo executada a query sobre a tabela de documentos inúmeras vezes. Me parece que o problema do N+1 voltou a ocorrer. Achei estranho, pois em momento nenhum uso propriedades da tabela de documentos em minha tela.
O fato de usar o JOIN FETCH de Funcionário para Pessoa, faz com que o container busque por todas as tabelas relacionadas a Pessoa? Mesmo que eu tenha declarado a relação como LAZY?
Abs!