JPA + Hibernate: ORM Profissional com Java
- Nível: Intermediário
- Módulos: 5
- Aulas: 29
- Tempo de leitura: 11h 40min
- Tecnologias: Java
- Preço: Gratuito
Código do curso: github.com/johnpires/jpa-hibernate-orm-profissional-java
Domine o mapeamento objeto-relacional (ORM) com JPA e Hibernate, as tecnologias mais utilizadas no ecossistema Java enterprise para persistência de dados. Neste curso intermediário, você aprenderá a mapear entidades, configurar relacionamentos complexos, escrever consultas eficientes com JPQL e Criteria API, e gerenciar transações de forma profissional.
Aprofunde-se nos recursos avançados do Hibernate, como cache de primeiro e segundo nível, lazy loading, batch processing e estratégias de herança. Você entenderá como otimizar consultas para evitar o problema N+1, configurar connection pooling e garantir alta performance em aplicações de produção.
Ao final do curso, você será capaz de construir uma camada de persistência robusta e eficiente para aplicações Java, integrando JPA e Hibernate com Spring Boot, aplicando boas práticas de modelagem e garantindo que seu sistema escale com qualidade e segurança.
Conteúdo do curso
Módulo 1: Introdução ao JPA e Hibernate
- O que é JPA e ORM? Introdução ao Mapeamento Objeto-Relacional (15 min)
- Configurando o Ambiente: Spring Boot + JPA + Hibernate (25 min)
- EntityManager e o Ciclo de Vida das Entidades JPA (25 min)
- Criando sua Primeira Entidade: @Entity, @Id e @GeneratedValue (25 min)
- Mapeando Campos: @Column, @Temporal e Tipos Especiais (25 min)
- Auditoria com @CreatedDate e @LastModifiedDate (20 min)
Módulo 2: Mapeamento de Entidades e Relacionamentos
- Relacionamentos @ManyToOne e @OneToMany (25 min)
- Relacionamentos @OneToOne e @ManyToMany (25 min)
- Estratégias de Herança no JPA (25 min)
- @Embeddable e Objetos de Valor (20 min)
- Mapeando Enums, Coleções de Valores e @ElementCollection (20 min)
- Índices, Constraints e Otimizações de Schema (20 min)
Módulo 3: JPQL, Criteria API e Spring Data JPA
- Introdução ao JPQL: Consultas Orientadas a Objetos (25 min)
- Paginação, Ordenação e Projeções no JPQL (25 min)
- Named Queries e @NamedQuery (20 min)
- Criteria API: Consultas Dinâmicas e Type-Safe (25 min)
- Spring Data JPA: Repositories e Query Methods (25 min)
- Native Queries e Mapeamento de Resultados (20 min)
Módulo 4: Transações, Cache e Performance
- Gerenciamento de Transações com @Transactional (25 min)
- Lazy Loading vs Eager Loading: Conceitos e Armadilhas (25 min)
- O Problema N+1: Identificação e Solução (25 min)
- Cache de Primeiro e Segundo Nível no Hibernate (25 min)
- Connection Pooling com HikariCP e Batch Processing (25 min)
- Soft Delete, Optimistic Locking e Estratégias Avançadas (20 min)
Módulo 5: Projeto Final: Sistema de Biblioteca com JPA e Hibernate
- Modelagem do Domínio: Entidades e Relacionamentos (30 min)
- Implementando os Repositories com Spring Data JPA (30 min)
- Serviços de Negócio e Gestão de Transações (30 min)
- Testes de Integração com H2 e @DataJpaTest (30 min)
- Finalizando o Projeto e Boas Práticas de Produção (25 min)