JPA: O que é, Implementações e Mapeamento Objeto-Relacional

Classificado em Computação

Escrito em em português com um tamanho de 4,06 KB

JPA: O que é e Como Funciona

JPA é um framework leve, baseado em POJOs (Plain Old Java Objects) para persistir objetos Java. Desenvolvido para a EJB 3.0, como parte da especificação JSR 220, mas não é limitado a EJB. JAVA > JPA > BANCO DE DADOS.

Implementações do JPA

Implementações: Hibernate, Toplink, EclipseLink.

EclipseLink é a implementação no GlassFish Server.

JPA 2.1: Novas Funcionalidades

JPA 2.1 incluiu a capacidade adicional de mapeamento, expansões para a Java Persistence Query Language (JPQL), a API Criteria para criação de consultas dinâmicas, entre outras características.

POJOs Persistentes

POJOs Persistentes: (Plain Old Java Object ou Velho e Simples Objeto Java), significando que os objetos possuem design simples que não dependem da herança de interfaces ou classes de frameworks externos.

Qualquer objeto com um construtor padrão pode ser feito persistente sem nenhuma alteração na linha de código.

Mapeamento Objeto-Relacional com JPA

Mapeamento Objeto-Relacional com JPA é inteiramente dirigido a metadados. Isto pode ser feito através de anotações no código ou através de um XML definido externamente.

Bancos de Dados utilizam tabelas relacionais (linhas x colunas).

Sistemas OO utilizam objetos (instâncias x atributos).

Permite o mapeamento de entidades e seus relacionamentos (tabelas) em Objetos; Busca facilitar a persistência de dados.

Cada instância de objeto corresponde a um registro no banco de dados.

Consultas em Objetos com JPQL

Consultas em Objetos: As consultas podem ser realizadas através da Java Persistence Query Language (JPQL), uma linguagem de consulta que é derivada do EJB QL e transformada depois para SQL.

As consultas usam um esquema abstraído que é baseado no modelo de entidade como oposto às colunas na qual a entidade é armazenada.

Configurações Simplificadas no JPA

Configurações simples: Existe um grande número de características de persistência que a especificação oferece, todas são configuráveis através de anotações, XML ou uma combinação das duas.

Entidades JPA: Conceitos e Características

Entidade (@Entity public class Cliente) é o objeto que pode ser gravado pelo mecanismo de persistência.

Toda entidade tem de ter um construtor sem argumentos.

Cada atributo deve possuir seu get e set.

Toda entidade tem de ter uma chave primária.

Uma entidade JPA é um POJO anotado.

POJOs como Entidades do Modelo

As entidades do modelo são POJOs.

POJO é uma classe Java com atributos privados, construtor vazio e métodos de acesso getters e setters.

Mapeamento Objeto-Relacional: Configuração e Anotações

Mapeamento objeto-relacional é realizado com:

  • Configuração – XML (no arquivo persistence.xml)
  • Anotações (uso de código anotado com @)

EntityManager e Persistence Unit

EntityManager: centraliza a interação com o JPA.

Persistence Unit: define uma unidade de persistência (do acesso a um banco de dados definido no persistence.xml).

Anotações JPA Comuns

@Entity – informa ao JPA que a classe é uma entidade e deve ser persistida.

@Table(name=“...”) – informa o nome da tabela que irá persistir a entidade.

@Id – marca uma propriedade da classe como chave primária – identificador.

@GeneratedValue – como gerar o id (chave primária).

@Column (name=“...”) – informa o nome da coluna que irá persistir o campo.

@Temporal (tipo) – Data, Hora e Data+Hora.

@Transient – não persiste a coluna.

Entradas relacionadas: