studies
CtrlK
JPA, Consultas SQL e JPQL
JPA, Consultas SQL e JPQL
  • Objetivo
  • Requisitos projeto
  • UML
  • Colinha consulta SQL
  • Sessão JPA e estado das entidades
  • Salvando entidade associada para um
    • 1. Objeto aninhado
    • 2. Passando somente o id do department
  • Salvando entidades associadas para muitos
    • Passos
  • Evitando degradação de performance (Lentidão JPA)
    • Carregando EAGER e LAZY
    • Analisando o carregamento lazy dos funcionários
    • Alterando o atributo fetch dos relacionamentos
      • Eager
      • Lazy
    • Otimizando consultas com cláusula JOIN FETCH (forma correta)
    • Entendendo Transactional
    • open-in-view
    • Query Methods
      • Buscando Employee por name
  • Introdução sobre JPQL
    • Polêmica: vale a pena se especializar em JPQL?
  • Estudos de Caso
  • DSCommerce consulta de produtos por nome
    • Service
    • Controller
  • Evitando consultas lentas ManyToMany (N+1)
    • Repository
    • Service
    • Controller
  • Evitando consultas lentas ManyToOne com countQuery
  • Para fazer uma consulta Paginada no Repository
Fornecido por GitBook
Nesta página

Evitando consultas lentas ManyToMany (N+1)

Repositório

Problema N + 1

Basicamente, um sistema de produtos e categorias e entre eles terá uma relação many to many. Ou seja: um produto pode ter muitas categorias e uma categoria pode ter muitos produtos.

E daí queremos fazer uma busca paginada, buscando os produtos já com as suas categorias.

Para evitar que ao realizarmos essa consulta, o hibernate faça diversas consultas para buscar os objetos que estão relacionados, faremos o seguinte ➡️

AnteriorControllerPróximoRepository

Atualizado há 11 meses