Especializar profissionais Java na tecnologia de mapeamento objeto-relacional Hibernate 3.2, compreendendo os conceitos da tecnologia e seus principais recursos.
Diferenciais:
O curso foca nos principais aspectos que dão base para o aprendizado e é apresentado através de apostilas. As apostilas contêm parte teórica descritiva, slide, exemplos de código-fonte Java e laboratório e questões de revisão para cada módulo.
A ementa foi feita por desenvolvedores e cobre os pontos que eles julgam mais importantes ou que já tiveram dificuldade.
O material ainda conta com um CD com os softwares gratuitos usados no curso, bem como a solução dos laboratórios, para que o aluno possa praticar fora da aula.
Material totalmente em português e atualizado para a versão Hibernate 3.2, inclusive com mapeamentos utilizando anotações e arquivos XML.
Público-alvo:
Profissionais Java que desejam trabalhar com mapeamento objeto-relacional (bancos de dados).
Desenvolvedores que trabalham no universo de desenvolvimento Web e são solicitados a trabalhar com Hibernate.
Pré-requisitos:
Conhecimento das linguagens Java e SQL.
Noções de orientação por objetos.
Profissional Responsável:
Walter dos Santos, Bacharel e Mestre em Ciência da Computação pelo DCC/UFMG; Sun Certified Programmer for the Java 2 Platform 1.4 e Sun Certified Web Component Developer for the Java 2 Platform 1.4.
Ementa:
Introdução
Relembrando: Classes
Relembrando: Objetos
Relembrando: Atributos
Relembrando: Associações
Relembrando: Direção e Multiplicidade de Associações
Relembrando: Agregação e Composição
Relembrando: Herança
Relembrando: Polimorfismo
O que é Persistência?
Dificuldades dos Modelos de Dados
Mapeamento Objeto-Relacional
O que é o Hibernate?
O Padrão de Projeto DAO
Um Exemplo: Persistindo Dados de um Contato
Revisão e Laboratório
Entendendo o Hibernate
Interfaces e Classes Essenciais
Session
Métodos da Interface Session
SessionFactory
Configuration
Configurando o Hibernate
Transaction
Ciclo de Vida de um Objeto Persistente
Trabalhando com Objetos Persistentes
Utilizando um Pool de Conexões com o C3P0
Exemplo
Revisão e Laboratório
Mapeamento de Classes Usando Anotações
Introdução
Vantagens e Desvantagens de Anotações sobre XML
Habilitando Anotações para Mapeamentos
Mapeamento de Classes
Características Comuns de Mapeamento de Propriedades
Mapeamento de Propriedades Simples
Mapeamento de Chaves Primárias Simples
Mapeamento de Chaves Primárias Compostas
Anotações Específicas de Hibernate: Classes
Anotações Específicas de Hibernate: Campos
Revisão e Laboratório
Mapeamento de Componentes, Herança e Associações Usando Anotações
Mapeamento de Componentes
Exemplo de Herança
Uma Tabela por Hierarquia de Classes
Uma Tabela por Classe
Uma Tabela por Classe Concreta
Comparação
Mapeamento de Hierarquias de Classes
Mapeamento de Relacionamentos
Mapeamento de Relacionamentos Um para Um e Muitos para Um
Mapeamento de Relacionamentos Um para Muitos e Muitos para Muitos
Coleções
Anotações específicas de Hibernate: Herança
Mapeamentos Específicos de Hibernate: Associações
Anotações Específicas de Hibernate: Opções de Cascata
Revisão e Laboratório
Consultas
Características gerais
Introdução a HQL
Joins
Subconsultas
Escrevendo reporting queries
Projeção
Agregação
Agrupamento
Interface Query
Consultas em SQL
Stored Procedures
Query by Criteria
Query by Example
Associações em Query by Criteria
Projeção, Agrupamento e Agregação em Query by Criteria
Paginação
Revisão e Laboratório
Construindo Aplicações com o Hibernate
Estratégias de fetching
Transações
Problemas de Isolameno de Transações
Níveis de Isolamento
Escolhendo um Nível de Isolamento de Transações
Trancas (locks) e Trancas Pessimistas
Trancas Otimistas
Usando Cache de Objetos
Estratégias para Gerenciar Transações
Revisão e Laboratório
Mapeando Classes Persistentes com XML
Visão Geral do Arquivo de Mapeamento
Mapeamento de classes
Mapeamento do identificador
Mapeamento de Propriedades
Tipos de Dados do Hibernate
Outros Recursos de Mapeamento
Definindo a Aplicação Modelo
Mapeando a Classe Professor
Hibernate e XDoclet
Hibernate 3 e Anotações
Revisão e Laboratório
Mapeando Associações e Herança com XML
Componentes 179
Mapeamento de Herança 181
Exemplo
Uma Tabela por Hierarquia de Classes
Uma Tabela por Classe
Uma Tabela por Classe Concreta
Polimorfismo Implícito
Comparação
Mapeamento de Relacionamentos
Mapeando Relacionamentos Unidirecionais
Mapeando Relacionamentos Bididirecionais
Mapeando Associações Pai-Filho
Opções de cascade do Hibernate
Distinguindo o Estado de um Objeto: Transiente ou Persistente
Mapeando Coleções
Tags de Mapeamento de Coleções
Tag element
Tag key
Mapeando maps (Tabelas Hash)
Mapeando Listas
Mapeamento de Associações Unidirecionais sem Tabela de join: Muitos para Um
Mapeamento de Associações Unidirecionais Um para Um sem Tabela de Join
Mapeamento de Associações Unidirecionais Um para Muitos sem Tabela de Join
Mapeamento de Associações Bidirecionais
Exemplo de Mapeamento de Associações Bidirecionais Muitos para Muitos