UXDE dot Net Wordpress Themes

Java Persistence API – JPA

sobre Desenvolvimento Web, Java

JPA é um framework leve, baseado em POJOS (Plain Old Java Objects) para persistir objetos Java. Java Persiste API é uma padrão do Java para persistência de dados que deve ser implementada por frameworks que queiram seguir este padrão, como o JPA é usado na camada de persistência com o objetivo de ter maior produtividade dos desenvolvedores, com ele controlarmos a persistência dentro do Java, com isso teremos um padrão para mapear nossos objetos para Banco de Dados, atualmente o JPA está na versão 2.0 como esta especificado na Documentação JPA.

Atualmente temos que praticamente todas as aplicações de grande porte utilizam JPA para persistir objetos Java. JPA provê diversas funcionalidades para os programadores, como será mais detalhadamente visto nas próximas seções. Inicialmente será visto a história por trás da JPA, a qual passou por algumas versões até chegar na sua versão atual.
A versão JPA 2.0 incluiu um grande número de características que não estavam na primeira versão, especialmente as mais requisitadas pelos usuários, entre elas 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.

O JPA define uma caminho para mapear Plain Old Java Objects (POJOs) para um banco de dados, esses POJOs é nome usado para enfatizar para que um objeto é um objeto Java comum, não é um objeto especial, esse POJOs são chamados Beans de entidade que são como qualquer outra classe Java, exceto quando esta usando Java Persistênce Metadata (na criação e na estruturação dos dados).

A Java Persistence API, diferente do que muitos imaginam, não é apenas um framework para Mapeamento Objeto-Relacional (ORM – Object-Relational Mapping), ela também oferece diversas funcionalidades essenciais em qualquer aplicação corporativa.

A Java Persistence Specification define o mapeamento entre o objeto Java e o banco de dados utilizando o ORM, de forma que os Bens de entidades são facilmente importados para outro banco de dados. Objeto/Relacional (ORM) é um mapeamento automatizado e transparente onde á persistência de objeto em aplicações Java para tabelas em banco de dados relacional, usando uma estrutura que descreve o mapeamento entre os objetos e o banco de dados.

Segue a estrutura da tabela:
CREATE TABLE cliente (
id_cliente int(11) NOT NULL auto_increment,
nome varchar(60) NOT NULL,
data_nascimento date default NULL,
mae text NOT NULL,
PRIMARY KEY (id_cliente)
);
Vamos fazer um exemplo usando o JPA, onde nossa classe deve implementar Serializable e ter um campo ID. Os arrobas em cima dos atributos, são as anotações para mapear o seu objeto para a tabela Cliente.

Cliente
-Id_cliente : int
-Nome: varchar
-Data_nasci: Date
-Mae: varchar

package exemplo;
import javax.persistence.*;
@Entity
@Table(name=”cliente”)
public class cliente implements java.io.Serializable {
private Integer id_cliente;
private String nome
private java.util.Date data_nascimento;
private String mae;
public Bug() {
}
// A notação @GeneratedValue(strategy=GenerationType.SEQUENCE) informa que o id será gerado automaticamente pelo DB.
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
@Column(name=”id_cliente”)
public Integer getId_cliente() {
return id_cliente;
}
public void setId_cliente(Integer id_cliente) {
this.id_cliente = id_cliente;
}
@Column(name=”nome”)
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Temporal(TemporalType.DATE)
@Column(name=”data_nascimento”)
public java.util.Date getData_nascimento() {
return data_nascimento;
}
public void setData_nascimento(java.util.Date data_nascimento) {
this.data_nascimento = data_nascimento;
}
@Column(name=”mae”)
public String getMae() {
return mae;}
public void setMae(String mae) {
this.mae = mae; }
@Override
public String toString(){
return “ID: “+this.id_cliente; }
}

O Java Persistence API é muito útil para agilizar o trabalho do desenvolvedor, principalmente se for necessário a troca de um banco de dados, sera necessario fazer poucas auterações no código.

Para mais informações:
JPA

Escrito por Nelson Nunes Campozano|Site|Outros textos

Olá meu nome é Nelson, atualmente curso Ciência da Computação no 7º semetre, gosto de computação. Meu interesse é em programação na linguagem JAVA e programação para Web e dispositivos móveis. Estou fazendo o curso Fabrica de Software para aprender e por em prática o que estou estudando e dar inicio à minha carreira de Programador.

Comente!

Atenção: É obrigatório o preenchimento dos campos nome e e-mail!