Destino Dev

Cursos

JPA + Hibernate: ORM Profissional com Java

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

  1. O que é JPA e ORM? Introdução ao Mapeamento Objeto-Relacional (15 min)
  2. Configurando o Ambiente: Spring Boot + JPA + Hibernate (25 min)
  3. EntityManager e o Ciclo de Vida das Entidades JPA (25 min)
  4. Criando sua Primeira Entidade: @Entity, @Id e @GeneratedValue (25 min)
  5. Mapeando Campos: @Column, @Temporal e Tipos Especiais (25 min)
  6. Auditoria com @CreatedDate e @LastModifiedDate (20 min)

Módulo 2: Mapeamento de Entidades e Relacionamentos

  1. Relacionamentos @ManyToOne e @OneToMany (25 min)
  2. Relacionamentos @OneToOne e @ManyToMany (25 min)
  3. Estratégias de Herança no JPA (25 min)
  4. @Embeddable e Objetos de Valor (20 min)
  5. Mapeando Enums, Coleções de Valores e @ElementCollection (20 min)
  6. Índices, Constraints e Otimizações de Schema (20 min)

Módulo 3: JPQL, Criteria API e Spring Data JPA

  1. Introdução ao JPQL: Consultas Orientadas a Objetos (25 min)
  2. Paginação, Ordenação e Projeções no JPQL (25 min)
  3. Named Queries e @NamedQuery (20 min)
  4. Criteria API: Consultas Dinâmicas e Type-Safe (25 min)
  5. Spring Data JPA: Repositories e Query Methods (25 min)
  6. Native Queries e Mapeamento de Resultados (20 min)

Módulo 4: Transações, Cache e Performance

  1. Gerenciamento de Transações com @Transactional (25 min)
  2. Lazy Loading vs Eager Loading: Conceitos e Armadilhas (25 min)
  3. O Problema N+1: Identificação e Solução (25 min)
  4. Cache de Primeiro e Segundo Nível no Hibernate (25 min)
  5. Connection Pooling com HikariCP e Batch Processing (25 min)
  6. Soft Delete, Optimistic Locking e Estratégias Avançadas (20 min)

Módulo 5: Projeto Final: Sistema de Biblioteca com JPA e Hibernate

  1. Modelagem do Domínio: Entidades e Relacionamentos (30 min)
  2. Implementando os Repositories com Spring Data JPA (30 min)
  3. Serviços de Negócio e Gestão de Transações (30 min)
  4. Testes de Integração com H2 e @DataJpaTest (30 min)
  5. Finalizando o Projeto e Boas Práticas de Produção (25 min)