Curso Java API Persistence

  • Development

Curso Java API Persistence

24 horas
Visão Geral

Curso Java API Persistence, Como parte da revisão completa da especificação Enterprise JavaBeans™ (EJB), a persistência do banco de dados foi dividida em uma especificação completamente separada, a Java Persistence API (JPA). O JPA substitui os beans de entidade por novos e poderosos recursos de Object-Relational Mapping (ORM) baseados em tecnologias comprovadas, como Toplink® e Hibernate®. Este curso inclui todos os recursos importantes do JPA 2 e também é adequado para usuários da versão 1.0.

O JPA suporta um modelo baseado em POJO (Plain Old Java Object) usando anotações que permitem desenvolver classes persistentes seguindo idiomas Java comuns. Ele suporta relacionamentos de entidade, herança, polimorfismo, composição e muito mais. O Java Persistence Query Language (JPQL), que é baseado em SQL, mas opera no modelo de objeto, fornece uma ponte poderosa entre o objeto e os mundos relacionais. O JPA também permite expressar consultas usando SQL nativo, incluindo a capacidade de mapear os resultados da consulta SQL para entidades persistentes. Este curso cobre tudo o que você precisa saber para começar a trabalhar com a Java Persistence API em um tempo muito curto. Abrange todos os conceitos importantes necessários para acessar e atualizar dados armazenados em bancos de dados relacionais. Ele inclui uma extensa série de laboratórios para exercitar todas as principais capacidades. A plataforma padrão faz todos os laboratórios com o Eclipse IDE, e as instruções do laboratório incluem instruções detalhadas para configurá-lo e usá-lo. O curso está disponível para todos os principais ambientes de desenvolvimento, incluindo IBM RAD e IntelliJ.

Objetivo

Após realizar este Curso Java API Persistence voce será capaz de:

  • Entenda a arquitetura JPA
  • Crie aplicativos baseados em JPA
  • Entenda e use JPA para mapear objetos persistentes para o banco de dados
  • Crie unidades de persistência JPA e entenda os contextos de persistência JPA e o ciclo de vida da entidade
  • Use o JPA EntityManager
  • Trabalhe com consultas e JPQL (Java Persistence Query Language), bem como a Criteria API (JPA 2)
  • Compreender e trabalhar com coleções e associações
  • Tipos de Valor e Entidade
  • Bidirecional e unidirecional
  • 1-1, 1-N, NN
  • Use o suporte de versão para bloqueio otimista
  • Mapear hierarquias de herança usando JPA
  • Ajuste de desempenho de seus aplicativos JPA
  • Entenda o suporte a transações JPA
  • Entenda a relação entre JPA/EJB3
  • Use entidades JPA de beans de sessão (opcional)
  • Estar familiarizado com o suporte Spring para JPA (opcional)
Publico Alvo
  • Desenvolvedores Java que precisam desenvolver sua compreensão do JPA.
Pre-Requisitos
  • Proficiência em Java e programação orientada a objetos, conhecimento em bancos de dados relacionais e alguma familiaridade com Spring® são recomendados.
Materiais
Português + Lab Pratico on premise vs cloud
Conteúdo Programatico

Overview

  • Persistence Layers, Object-Relational Mapping (ORM), JDBC
  • JPA Overview
  • Mapping with JPA
    • Entities and @Entity, ids and @Id,
    • Generated Id Values
    • Basic Mapping Types
  • Persistence Unit and EntityManager
    • Persisting to the DB, the EntityManager API
    • Persistence Units, Config, Persistence Context
    • Retrieving Persistent Entities with find()
  • More About Mappings
    • Default Mappings, @Basic, @Column
    • Field vs. Property Access
    • Temporal (Date/Time) Mappings
  • Logging Options (Provider based)

Updates and Queries

  • Inserting and Updating – Persisting new Entities, Updating an Instance, Removing an Instance
  • Querying and JPQL
    • Entity Based Queries, SELECT ,WHERE
    • Query Interface, Executing Queries, Generic Queries (JPA 2)
    • JPQL Operators, Expressions, and Parameters
    • Named Queries
  • Additional Query Capabilities
    • Projection query, Ordering, Aggregate Query, Build Update and Delete
  • Embedded Objects
    • @Embeddable, @Embedded
    • Defining and using Embedded Objects
  • Compound Primary Keys – @EmbeddedID, @IDClass, Defining Compound Keys

The Persistence Lifecycle

  • Transaction Overview and Transactions in JPA
    • Transaction Overview
    • EntityTransaction API (including JTA and resource-local EntityManager)
  • The Persistence Lifecycle
    • JPA Entity States (New, Managed, Detached, Removed), and Entity State Diagram
    • Persistence Context – Lifespan, Propagation
    • Synchronization to the DB
  • Versioning and Optimistic Locking
    • Overview, Detached Instances
    • Versioning, @Version, Optimistic Locking
  • Lifecycle Callbacks
    • @PrePersist, @PostPersist, etc.
    • Entity Listeners, @EntityListeners

Entity Relationships

  • Relationships Overview: Object Relationships, Participants, Roles, Directionality, Cardinality
  • Relationship Mapping
    • Mapping Overview (1-1, 1-N, N-1, N-N)
    • Unidirectional and Bidirectional
    • @ManyToOne, @OneToMany, Table Structures
    • Relationship Inverse – Owning Side
    • Collection Types (List, Set, etc)
    • Cascading Over Relationships (including orphanRemoval – JPA 2)
    • @ManyToMany, @OneToOne
    • Lazy and Eager Loading
    • Queries Across Relationships (Inner Joins, Outer Joins, Fetch Joins)
  • Entity Inheritance Mapping
    • Overview
    • Single Table Mapping
    • Joined (Table per Subclass) Mapping
    • Table per Concrete Class Mapping
    • Pros and Cons
  • Element Collections (JPA 2)
    • Overview, Collections of Value Objects, @ElementCollection, @CollectionTable
    • Using Element Collections
    • Collections of Embeddables

The Crietria API (JPA 2)

  • Overview of the Criteria API
  • Path Expressions, Building Queries (CriteriaBuilder, CriteriaQuery, Subquery, Predicate, Expression, Order, Selection, Join)
  • Executing Queries and Accessing Results

Additional JPA Capabilities

  • XML Mapping Files
  • Bean Validation (JPA 2)
  • Best Practices
    • Primary Keys, Named Queries, Lazy/Eager Loading, Transactional Semantics, Encapsulation, Report Queries

Integration

  • Data Access Objects (DAO) and Java SE Integration (Optional)
    • DAO Overview
    • JpaUtil Class for EntityManager management in Java SE
    • Lifecycle Considerations
  • Integration with EJB (Optional)
    • Using JPA with Session Beans
    • Container Managed (Injected) Entity Manger
    • JTA Transactions and Lifecycle Considerations
    • Extended Persistence Contexts
  • Using JPA with Java Web Apps
    • Using EntityManager in Web apps – request scoping
    • Lazy Loading – Open EntityManager in View Pattern
  • Integration with Spring (Optional)
    • Injection of EntityManger, EntityManagerFactory
    • LocalEntityManagerFactoryBean
    • JPA/Spring Based DAO
TENHO INTERESSE

Cursos Relacionados

Curso Python Programação Advanced

32 horas

Curso SAP ABAP S4hana Developer Foundation

32 horas

Curso Full Stack and React Essentials

32 Horas

Curso Node.js for JavaScript Developers

24 horas

Curso Elasticsearch for Developers

16H

Curso Elastic Stack Foundation

24 horas

Curso Apache Spark™ Foundation

8 Horas