Teste

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1122 palavras )
  • Download(s) : 0
  • Publicado : 10 de março de 2012
Ler documento completo
Amostra do texto
Tutorial - JPA 2.0 com EclipseLink
Ricardo Ramos de Oliveira 7250350 Universidade de São Paulo (ICMC-USP) JPA com EclipseLink Este tutorial explica como usar o EclipseLink, a implementação de referência para a Java Persistence API (JPA). O uso de EclipseLink é demonstrado para aplicações Java stand-alone (fora do ambiente Java EE). O EclipseLink implementação 2.3.x foi utilizado para estetutorial. Índice 1. JPA 1.1. Visão global 1.2. Entidade 1.3. Persistência dos Campos 1.4. Mapeamento de Relacionamento 1.5. Gerenciador de Entidade 1.6. Unidades de Persistência 2. Instalação 2.1. EclipseLink 2.2. Banco de Dados Derby 3. Exemplo Simples 3.1. Projeto e Entidade 3.2. Unidade de persistência 3.3. Teste sua instalação 4. Exemplo de Relacionamento 5. Agradecimentos 6. Perguntas e Discussão7. Links e Literatura 7.1. Recursos da API Java Persistence 7.2. Recursos Vogella

1. JPA
1.1. visão global O processo de mapeamento de objetos Java para tabelas de banco de dados e vice-versa é chamada de "mapeamento objeto-relacional" (ORM). A Java Persistence API (JPA) é uma abordagem para ORM. Via JPA o desenvolvedor pode mapear, armazenar, atualizar e recuperar dados de bancos de dadosrelacionais para objetos Java e vice-versa, JPA permite ao desenvolvedor trabalhar diretamente com objetos ao invés de instruções SQL. JPA é uma especificação e implementação entre várias disponíveis. Este tutorial irá usar EclipseLink como a implementação JPA. A implementação JPA é normalmente chamado fornecedor de persistência. JPA pode ser usado em Java EE e em aplicações Java SE.

1.2. EntidadeUma classe que deve ser mantida em um banco de dados deve ser anotada com "javax.persistence.Entity". Tal classe é chamada de entidade. A JPA vai criar uma tabela para a entidade em seu banco de dados. As instâncias da classe corresponde a uma linha da tabela.

Todas as classes de entidade devem definir uma chave primária, deve ter um construtor sem argumentos e ou não tenha permissão para serfinal. As chaves podem ser um campo único ou uma combinação de campos. JPA permite gerar automaticamente a chave primária no banco de dados através da anotação @ GeneratedValue. Por padrão, o nome da tabela corresponde ao nome da classe. Você pode mudar isso adicionando a anotação @ Table (name = "NOMEDATABELA"). 1.3. Persistência dos Campos Os campos da Entidade serão salvos no banco de dados.JPA pode usar suas variáveis de instância (campos) ou o correspondente getters e setters para acessar os campos. Você não tem permissão para misturar os dois métodos. Se você quiser usar os métodos setter e getter da classe Java deve seguir as convenções de nomenclatura Java Bean. A JPA persisti por padrão todos os campos de uma entidade, se os campos não devem ser guardados deverão ser assinaladascom a anotação @ Transient. Por padrão cada campo é mapeado para uma coluna com o nome do campo. Você pode alterar o nome padrão via @Column (name = "NOMENOVACOLUNA"). As anotações a seguir pode ser usadas. @Id Identificador único ID do banco de dados @GeneratedValue Juntamente definido com o ID este valor será gerado automaticamente. @Transient O campo não será salvo no banco de dados Tabela 1.Anotações para campos / getter e setter 1.4. Mapeamento de Relacionamento JPA permite definir relacionamentos entre as classes, por exemplo, pode ser definida uma classe que faz parte de outra classe (composição). As classes podem ter relacionamentos 1-1, um para muitos, muitos para um, e muitos para muitos com outras classes. A relação pode ser bidirecional ou unidirecional, por exemplo, em umrelacionamento bidirecional ambas as classes armazenam uma referência de uma para a outra, enquanto no caso unidirecional apenas uma classe tem uma referência da outra classe. Dentro de um relacionamento bidirecional você precisa especificar o lado proprietário dessa relação na outra classe com o atributo "mappedBy", por exemplo, @ ManyToMany (mappedBy = "ATRIBUTOCLASSEPROPRIETÁRIA"). @OneToOne...
tracking img