Este curso é uma introdução abrangente à API de persistência do Java - JPA: uma solução de mapeamento objeto-relacional (ORM) que oferece uma camada de persistência transparente para objetos Java comuns (POJOs). Usando JPA, classes podem ser mapeadas a tabelas de um banco de dados relacional, seus objetos automaticamente mapeados a registros, e queries podem ser feitos no domínio dos objetos. JPA é independente de implementação. Este curso é compatível com as implementações mais populares de JPA: Hibernate ou EclipseLink.
Ao final deste curso, o aluno terá condições de
- Descrever as difenças entre o paradigma relacional e orientado a objetos, e as dificuldades que existem no mapeamento
- Configurar uma unidade de persistência com um provedor de persistência como o Hibernate ou EclipseLink, e obter um Entity Manager para realizar operações de persistência.
- Configurar cache e sessões de persistência
- Utilizar as principais classes, anotações e interfaces do JPA para gerenciar a persistência, mapear objetos, relacionamentos e coleções, configurar atributos de persistência, construir e executar pesquisas usando JPQL e Criteria
- Configurar o mapeamento de coleções e relacionamentos (cascading, lazyness, etc.)
- Configurar transações, locks, caches, mapeamentos e pesquisas para ajustar a performance das operações de persistência
- Usar JPA em aplicações Java EE configurando transações e segurança, realizando validação, integrando com CDI, REST e EJB
Este curso é parte do curso Java EE 7 (40h) onde é abordado em mais superficialmente (1/3 da carga-horária). O curso Java EE 7 também inclui EJB, CDI, JSP/servlets, JSF, Web Services REST e SOAP/WSDL e JMS
- Mapeamento objeto-relacional
- Introdução prática
- Arquitetura do JPA: classes e interfaces
- Mapeamento de entidades
- Entity Manager, persistence.xml, @PersistenceContext
- Ciclo de vida de uma entidade e listeners
- CRUD de entidades
- Relacionamentos entre objetos
- Mapeamento de composição
- Mapeamento de herança
- Pesquisas JPQL
- Pesquisas Criteria
- Transações e locks
- Cache de objetos
- Validação, tuning, e outros recursos do JPA
- Aplicações Java EE 7 com JPA