TDSI – Mapeamento objeto relacional (MOR) com JPA

Java Persistence API – JPA

Mapeamento com anotações JPA (annotations)

Até a versão J2EE 1.4, a plataforma java não possuia uma forma simples de mapear objetos em um banco de dados relacional.  A JPA introduzida coma plataforma Java EE5, provê um modelo de persistência por mapeamento objeto-relacional baseada em anotações padrões, visando simplificar, melhorar e padronizar aplicações java EE e java SE que precisam acessar um banco de dados.

Esta especificação consiste de um conjunto de interfaces e anotações que visam padronizar o acesso aos frameworks de mapeamentos O/R e se baseia nas melhores idéias tecnologias de persistência como Hibernate, TopLink e JDO, EclipseLink, mas provê à comunidade java uma única API padrão de persistência, com a liberdade de escolha do provedor.

Rapidamente os frameworks se adaptaram para funcionar como provedores JPA, incluindo recursos que permitam utilizar o padrão JPA para a construção de camadas de persistência com o uso da JPA.

 

EclipseLink

O EclipseLink (framework) é um Projeto da Eclipse Fundation de código fonte aberto que permite aos desenvolvedores Java interagirem com vários tipos de serviços de informação como Banco de Dados, Web Services, Objetos XML, EIS, etc. Sendo assim, EclipseLink não implementa apenas o padrão JPA, mas também outros padrões como JAXB, JCA e SDO.

O EclipseLink é baseado no TopLink na qual a Oracle contribuiu com o código-fonte para criar o projeto EclipseLink. Pode-se dizer que o EclipseLink evoluiu ao ponto de ser uma ferramenta superior ao TopLink. É dito que as próximas versões do TopLink incluirão o EclipseLink, assim como a próxima versão do Oracle Application Server.

fonte: http://www.devmedia.com.br/introducao-ao-eclipselink/29131

Leia mais em: http://www.devmedia.com.br/introducao-ao-eclipselink/29131#ixzz3XC1ynuVK

Hibernate

É um framework de persistência de dados, ele faz um mapeamento “Objeto Relacional”,  que persiste objetos e recupera objetos ao invés da forma tradicional com JDBC e SQL dentro dos programas.

Este framework de persistência permite mapear classes java em tabelas do banco de dados e vice-versa. É bastante poderoso e dá suporte ao mapeamento de associações entre objetos, herança, polimorfismo, composições e coleções. O Hibernate também possibilita um poderoso mecanismo de consulta de dados, permitindo uma redução considerável no tempo de desenvolvimento da aplicação.

Antes de um objeto ser persistido devemos fazer uma chamada específica para a API de persistência para efetuar as operações sobre as entidades. Esta API é implementada pelo Entity Manager e quase tudo esta encapsulado dentro de uma simples interface Entity Manager.

EntityManagerFactory

Consiste de uma fábrica de instâncias de EntityManager (gerente de entidade). Todas as instâncias são configuradas para conectar ao mesmo banco de dados e usar as mesmas configurações padrão ou específicas para uma implementação particular. Pode-se criar fábricas de EntityManager para acessar diferentes bases de dados.

EntityManager

O EntityManager é usado para ter acesso a uma entidade em particular no banco de dados. É usado para criar e remover instâncias de entidades persistentes, recuperar instâncias de entidades pela identidade (chave principal), assim como, realizar buscas e recuperar do banco de dados listas de instâncias de entidades.

Persistence Unit

O conjunto de classes de entidade que podem ser administrados por um determinado EntityManager é definido poruma unidade de persistência. Ela permite definir a configuração da base de dados que será utilizada, assim como, todas as classes que serão utilizadas pela aplicação.

As configurações do banco de dados que será usado, assim como as classes que estarão sendo mapeadas na aplicação, deve ser realizada em uma unidade de persistência. Estas configurações devem ser definidas em um arquivo XML chamado persistence.xml, criado dentro da pasta META-INF da aplicação.

Plain Old Java Objects – POJO

Plain Old Java Objects (Singelos Clássicos Objetos Java) ou simplesmente POJO, são objetos Java que seguem um desenho simplificado, ou seja as classes comuns que os iniciantes conhecem.

Java Annotation (@Entity, @Table, @Id, @Column)

São tipos especialmente definidos com o intuito de simplificar tarefas em Java com uma simples anotação, colocada em frente à (ou acima de) elementos  de programa java como classes, métodos, campos e variáveis.

Uma anotação é precedida por um símbolo de @  seguida de uma meta-anotação (seja ela personalizada ou não). Criar anotações em um arquivo Java é simples.

  • @Entity – Indica que essa classe é uma entidade (entity bean), que nada mais é do que um POJO, representando um objeto de negócio. Sem ela é assumido que o valor padrão será o nome da classe.

 

  • @Table – Mapeia o nome da tabela. Caso não seja utilizado o parâmetro name, o valor padrão assumido é o nome da classe.

 

  • @Id – O identificador da entidade. Normalmente se refere à chave primária da tabela original.

 

  • @Column – Mapeia o nome da coluna existente na tabela relacional. É importante frisar que o Hibernate assume os atributos da classe como os mesmos nomes dos campos da tabela existente no banco de dados.

Próximo.

Esse post foi publicado em TDSI - Tópicos em Desenvolvimento de Sistemas de Informação I e III e marcado , , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s