JPA: Examinando os conceitos fundamentais da Jakarta Persistence API
- #JPA
- #Java
O Jakarta Persistence API (JPA) é uma especificação do Java para o gerenciamento de persistência e mapeamento objeto/relacional (ORM) em plataformas Java EE e Java SE. O objetivo técnico é fornecer uma facilidade padrão de mapeamento objeto/relacional para o desenvolvedor de aplicativos Java usando um modelo de domínio Java para gerenciar dados em um banco de dados relacional.
Entidades e Classes
Entidades: São objetos de domínio leves e persistentes que suportam herança, associações polimórficas e consultas polimórficas. A classe de entidade deve ser anotada com @Entity ou declarada como uma entidade no descritor XML.
A Classe Entidade: Deve ser uma classe de nível superior ou uma classe interna estática. Não pode ser final e deve ter um construtor público ou protegido sem parâmetros. Sua estrutura corresponde a um JavaBean, pois deve implementar a interface Serializable, e um Plain Old Java Object (POJO), porque deve possuir atributos de campo privados e getters e setters para acessá-los.
Campos e Propriedades Persistentes
Acesso aos Campos: O estado persistente de uma entidade é acessado pelo provedor de persistência via acesso direto aos campos ou através de acessadores de propriedades no estilo JavaBean.
Tipos de Atributos: Podem ser tipos básicos ou wrappers destes, tipos de entidade, classes incorporáveis (ou embutidas) ou coleções desses tipos.
Operações com Entidades
Ciclo de Vida da Instância da Entidade: Inclui criação, persistência, remoção, sincronização com o banco de dados, atualização e desanexação.
Contexto de Persistência: Gerencia as instâncias de entidades e sincroniza o estado da entidade com o banco de dados.
Mapeamento e Consultas
Mapeamento Objeto/Relacional: Metadados podem ser especificados para personalizar o mapeamento e o carregamento do estado da entidade e dos relacionamentos.
API de Consulta: Permite a execução de consultas sobre as entidades, podendo utilizar a linguagem de consulta do JPA, a Jakarta Persistence Query Language (JPQL), SQL nativo ou a Criteria API, para consulta programática.
Este artigo oferece uma visão geral dos conceitos fundamentais do JPA, essencial para iniciantes ou entusiastas que desejam entender como utilizar a persistência em suas aplicações Java.