JPA e Hibernate além do básico - um projeto completo

Explore a API de persistência de dados padrão do Java e o framework ORM mais usado no mundo.

Conteúdo Programático

  1. Introdução

    1. Introdução ao curso de JPA 2 e Hibernate 8m 52s
    2. O que é persistência? 3m 35s
    3. Instalando o MySQL 15m 11s
    4. Exercício: Instalando o MySQL no Linux Ubuntu
    5. Criando as primeiras tabelas no MySQL 11m 23s
    6. Mapeamento Objeto Relacional (ORM) 8m 45s
    7. Relacionamento entre tabelas 11m 59s
    8. Instalando e configurando o Eclipse 9m 14s
    9. Download e configuração do Hibernate 5m 54s
    10. Download e configuração do driver MySQL 4m 14s
  2. Iniciando com JPA 2

    1. Salvando o primeiro objeto no Banco de Dados 23m 21s
    2. Primeira consulta com JPA 7m 1s
    3. Removendo objeto do banco de dados 8m 2s
    4. Atualizando o banco de dados 5m 12s
    5. Fazendo seu primeiro CRUD
    6. Entendendo um pouco mais da transação 15m 59s
    7. A Java Persistence Query Language (JPQL) 7m 41s
    8. Fechando o Entity Manager 4m 44s
  3. Preparando o ambiente

    1. Apresentando o projeto 6m 49s
    2. Introdução ao Apache Tomcat 5m 13s
    3. Introdução ao Apache Maven 6m 1s
    4. Importando um projeto do GitHub 7m 4s
    5. Introdução ao JSF 2 e Primefaces 8m 20s
    6. Importante: Atualização do projeto 13m 47s
  4. Mapeamento Objeto-Relacional (ORM)

    1. Criando o projeto do curso 11m 11s
    2. Cadastrando o primeiro objeto 31m 52s
    3. Implementando a consulta e exclusão 15m 18s
    4. Implementando a edição 14m 13s
    5. Mapeando a Primary Key 7m 47s
    6. Exercício: Mapeando a Primary Key
    7. Identidade de um objeto - equals() e hashCode() 11m 52s
    8. Relacionamento Muitos-Para-Um 15m 23s
    9. Mais do mapeamento Muitos-Para-Um
    10. Relacionamento Muitos-Para-Muitos 14m 34s
    11. Mapeando Muitos-Para-Muitos
    12. Relacionamento Um-Para-Um 16m 20s
    13. Mapeamento Um-Para-Um
    14. Relacionamento Um-Para-Muitos 6m 57s
    15. Implementando mais uma consulta 7m 0s
    16. Camada de persistência
  5. Conceitos e mapeamentos avançados - parte 1

    1. Inicialização Tardia (lazy-loading) e Ansiosa (eager-loading) 22m 1s
    2. Mapeando enumerações 13m 18s
    3. Mapeando datas 7m 11s
    4. Mapeando herança com tabela única 18m 39s
    5. Mapeando herança com Joined
    6. Cadastro de funcionário
    7. Adicionando mais uma enumeração
    8. Implementando mais um Muitos-Para-Um
  6. Trabalhando com consultas

    1. Introdução a Java Persistence Query Language (JPQL) 15m 56s
    2. Selecionando uma entidade de uma entidade 5m 56s
    3. Filtrando resultados 4m 40s
    4. Exercício: Filtrando resultados
    5. Trabalhando com projeções 4m 50s
    6. Fazendo Join entre entidades 8m 37s
    7. Trabalhando com queries agregadas 11m 21s
    8. Novos tipos de retorno
    9. Passando parâmetros para queries 4m 53s
    10. Passando datas como parâmetros
    11. Trabalhando com Named Query 9m 38s
    12. Entendendo a paginação 22m 40s
    13. Implementando paginação
  7. Conhecendo mais sobre o Entity Manager

    1. Entendendo a Sessão e Transação no projeto 10m 50s
    2. Usando JTA em um ambiente Java EE 24m 25s
    3. Ciclo de vida e Estados dos objetos 15m 11s
    4. Movendo os objetos pelo ciclo de vida
  8. Consultas com Criteria

    1. O que é API Criteria? 13m 49s
    2. Consulta com Criteria 25m 8s
    3. Projeções 11m 5s
    4. Funções de agregação 4m 52s
    5. Resultados complexos, tuplas e construtores 12m 15s
    6. Funções 4m 29s
    7. Ordenação de resultado 2m 30s
    8. Join e Fetch 14m 15s
    9. Subqueries 7m 50s
    10. Metamodel 12m 45s
    11. Mais consultas com Criteria
    12. Implementando mais consultas
  9. Gravação e exclusão em cascata

    1. Gravação em cascata 8m 6s
    2. Exercício: Gravação em cascata
    3. Exclusão com Many-to-Many 7m 46s
    4. Exclusão em cascata 4m 4s
    5. Exclusão de objetos orfãos 6m 51s
    6. Gravação e exclusão em cascata
  10. Conceitos e mapeamentos avançados - parte 2

    1. Mapeando chaves compostas 15m 51s
    2. Mapeando objetos embutidos 8m 42s
    3. Propriedades transientes 5m 40s
    4. Coleções de tipos básicos 7m 47s
    5. Coleções com objetos embutidos 9m 58s
    6. Objetos grandes 5m 1s
    7. Exibindo a imagem
  11. Outros detalhes importantes

    1. Schema e Catalog 2m 44s
    2. Mais detalhes de @Column 3m 48s
    3. Problema n+1 3m 25s
    4. Cache de primeiro nível 5m 48s
    5. Consultas nativas 2m 44s
    6. Testes com jUnit, DBUnit e JIntegrity 13m 41s
    7. Bean Validation 6m 18s
    8. Aplicação Java EE no Glassfish 17m 12s
  12. Hibernate Criteria

    1. Introdução - Restrições between e eq 13m 26s
    2. Função de agregação sum e restrições sql 10m 18s
    3. Criando subselects 11m 21s
    4. LazyLoading e o FetchMode 12m 51s
    5. Transforme, ordene e agrupe a consulta 16m 45s
    6. Navegando e filtrando nos relacionamentos 8m 49s
  13. Novidades JPA 2.1

    1. Conversores 20m 55s
    2. Delete e Update com Criteria 8m 37s
    3. Convertendo o resultado de queries nativas 16m 0s
    4. Gerando o schema 18m 52s
    5. Conclusão 2m 29s
  14. Cache

    1. O que é cache? 5m 44s
    2. Tipos de cache do Hibernate 4m 29s
    3. Cache de segundo nível 18m 31s
    4. Cache de coleções 20m 27s
    5. Cache de queries 20m 17s
    6. Cache com Ehcache 20m 19s
    7. Cache com Infinispan, JTA e no WildFly 39m 13s
  15. Recursos avançados - parte 1

    1. O pattern DAO 35m 34s
    2. Criando um DAO Genérico 25m 1s
    3. O pattern Repository 15m 14s
    4. Datasources 6m 5s
    5. Pool de conexões com C3P0 5m 19s
    6. Trabalhando com procedures 18m 39s
    7. Named Queries em arquivos externos 15m 43s
  16. Recursos avançados - parte 2

    1. OneToOne Lazy - Com anotações 11m 31s
    2. OneToOne Lazy - Com instrumentação 3m 36s
    3. Lock Otimista 14m 8s
    4. Lock Pessimista 13m 28s
    5. Introdução ao Multi-Tenancy 9m 21s
    6. Multi-tenancy com bancos separados 19m 21s
    7. Multi-tenancy com schemas diferentes 7m 51s
    8. Engenharia reversa com Hibernate Tools 10m 39s

Instrutores

Junior

Junior

Formado em Engenharia Elétrica pela Universidade Federal de Uberlândia e detentor das certificações LPIC-1, SCJP e SCWCD.

Palestrante internacional reconhecido por contribuir e liderar projetos open source ligados a área de telecom.