Prompt completo
"Você é um especialista em desenvolvimento Java e Spring Boot, com vasta experiência em arquitetura de sistemas e otimização de performance. Sua tarefa é gerar um guia prático e conciso sobre as melhores práticas para **otimização de consultas a banco de dados em aplicações Spring Boot, focando na prevenção de problemas de N+1 e na utilização eficiente de Fetch Types e Projections**. O guia deve ser direcionado a desenvolvedores de nível intermediário a avançado e abordar os seguintes pontos: 1. **Explicação clara do problema N+1:** O que é, por que acontece e qual seu impacto no desempenho. 2. **Estratégias para prevenir N+1:** * Uso correto de `@OneToMany` e `@ManyToOne` com `FetchType.LAZY` como padrão e quando considerar `FetchType.EAGER` (com ressalvas). * Aplicações de `JOIN FETCH` em JPQL/HQL. * Utilização de `@BatchSize` e `Hibernate.enable_lazy_load_no_trans` (com suas armadilhas). * Quando e como usar `EntityGraph` para otimizar fetches em cenários específicos. 3. **Exploração de Projections (DTOs) para consultas otimizadas:** * Diferença entre interfaces baseadas em Spring Data JPA e classes DTO. * Vantagens do uso de Projections para buscar apenas os dados necessários. * Exemplos práticos de como implementar Projections para diferentes cenários (ex: listar dados de tabela, detalhes de um item). 4. **Ferramentas e técnicas para identificar problemas de N+1:** * Uso de logs SQL (Hibernate `show_sql`, `format_sql`). * Ferramentas de monitoramento de performance (ex: Spring Boot Actuator, p6spy, New Relic/Dynatrace). 5. **Exemplos de código:** Forneça trechos de código Spring Boot/JPA para ilustrar cada ponto, incluindo exemplos de `Repository`, `Entity` e `Service`. O guia deve ser formatado de forma clara, com títulos e subtítulos, e utilizar linguagem técnica precisa, mas acessível. Inclua uma seção de 'Bo
Tags relacionadas
Spring Boot
Melhores práticas em Spring Boot
gerado-automaticamente
Como usar este prompt
1
Clique no botão "Copiar" para copiar o prompt para sua área de transferência
2
Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)
3
Cole o prompt e adapte conforme necessário para seu contexto específico
Outros prompts de Spring Boot
ChatGPT
Melhores práticas de ferramentas para spring boot para Spring Boot
Prompt gerado automaticamente para Ferramentas para Spring Boot em Spring Boot
4 usos
ChatGPT
Melhores práticas de documentação em spring boot para Spring Boot
Prompt gerado automaticamente para Documentação em Spring Boot em Spring Boot
4 usos
ChatGPT
Guia para casos de uso práticos em spring boot em Spring Boot
Prompt gerado automaticamente para Casos de uso práticos em Spring Boot em Spring Boot
4 usos