UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES - PDF
Download "UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES"
Leonardo Almeida Paixão
1 UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES TUTORIA DE USO DO HIBERNATE NA IDE ECLIPSE KEPLER DISCENTE: JOANA DARC CARVALHO DE SOUSA Teresina PI
2 INTRODUÇÃO AO HIBERNATE O processo de mapear objetos Java para tabelas de Banco de Dados e vice-versa é chamado de Object-Relacional Mapping (ORM) ou Mapeamento Objeto-Relacional. A Java Persistence API (JPA) prove as facilidades do mapeamento objeto/relacional para os desenvolvedores Java gerenciarem informações relacionais em aplicações Java. A JPA é uma das possibilidades para o Mapeamento Objeto-Relacional. JPA é uma especificação e atualmente várias implementações estão disponíveis, entre elas o Hibernate. JPA também permite ao desenvolvedor mapear, armazenas, atualizar e recuperar informações de uma base de dados relacional para objetos Java e o vice-versa. Para utilizar a JPA é necessário habilitá-la nas propriedades do projeto (Figura 1). Figura 1: Habilitação do JPA no projeto Na especificação da JPA também há a definição de alguns conceitos importantes como: Entidades que são os mapeamentos das tabelas do Banco de Dados; Atributos que equivalem a colunas do Banco de Dados; Relacionamentos entre entidades através de EntityManager que é responsável por prover operações do Banco de dados e também para o Banco de Dados, encontrar objetos, persisti-los, remove-los, etc, Unidade de Persistência (Persistence Units) que define as propriedades de conexão com o banco de dados. CONFIGURAÇÕES NECESSÁRIAS PARA O HIBERNATE Para integrar uma aplicação com o Hibernate há necessidade de incluir algumas bibliotecas Java, tais como: o arquivo jar para o JDBC, a biblioteca JPA, uma biblioteca de bytecode para funções, várias bibliotecas do Hibernate e muitas configurações. Uma maneira de facilitar a integração de todos esses componentes é criar o projeto como um Maven Project (Figura 2).
3 Figura 2: Criação de um Maven Project O Maven faz parte de um grupo de tecnologias, como o Composer da linguagem PHP, que gerenciam as dependências dos projetos nos quais estão presentes. A criação de um Maven Project implica na redução de procedimentos para inclusão das bibliotecas necessárias para execução do projeto. O Maven possui um arquivo nomeado de pom.xml, que ao receber os parâmetros básicos dos componentes tecnológicos essenciais ao funcionamento do projeto faz a inserção automáticas das dependências necessárias (Figura 2). Figura 3: Inserção de parâmetros no arquivo pom.xml
4 Continuando com as configurações, agora no arquivo persistence.xml, no menu Properties, deve-se incluir as propriedades da conexão com o Banco de Dados, o driver, no de usuário, senha de acesso e url (Figura 4). Figura 4: propriedades de conexão com o Banco de Dados Ainda no persistence.xml, agora no menu Conection, deve-se definir qual o cenário de execução do projeto(local ou outro).o projeto utilizado nesse tutorial é executado localmente (Figura 5). Figura 5: definição do cenário de execução do projeto CRIAÇÃO E MAPEAMENTO DE UMA CLASSE JAVA PARA O BANCO DE DADOS Para fazer o mapeamento das entidades Java para tabelas no Banco de Dados deve-se criar uma classe com anotações, onde cada anotação é responsável por um tipo de mapeamento (Figura 6).
5 Figura 6: anotações de mapeamento mapeia uma entidade para uma tabela no Banco de faz a identificação de uma mapeia um atributo para uma chave primária na mapeia atributos para colunas na tabela. Após a criação de uma classe, além de inserir as anotações, é necessário fazer o mapeamento da classe no arquivo persistence.xml (Figura 7). Figura 7: mapeamento de uma classe. Além da classe que será persistida no Banco de Dados é necessário uma classe de conexão e uma main. A classe de conexão será responsável por fazer a conexão com o
6 Banco de Dados, já a main será responsável por executar a conexão com a chamada da classe responsável (Figura 8)( Figura 9). Figura 8: classe de conexão Figura 9: classe main Ao executar a função main será feita a chamada da classe de conexão que irá gerar a conexão com o Banco de Dados que irá criar as tabelas.
NextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos
NextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos Rógel Garcia de Oliveira, Marco Túlio Valente 1 Universidade Federal de Minas Gerais (UFMG) Belo Horizonte MG Brasil {rogelgarcia,mtov}@dcc.ufmg.br