Este é um post disponível para assinantes MVPIntrodução à Persistência com Hibernate - Artigo easy Java Magazine 5 - Parte 2
Implementação passo a passo de uma pequena aplicação utilizando o Hibernate JPA como camada de persistência. Para isso, foram utilizados assistentes do IDE NetBeans com o objetivo de facilitar o desenvolvimento.
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Easy Java Magazine 5
Na primeira parte deste artigo estudamos as APIs e os módulos que compõem o Hibernate, e de que forma esses componentes podem ser combinados para resolver problemas de persistência, usando tanto a solução tradicional quanto a Java Persistence API (JPA). Foram analisados com um pouco mais de detalhes os metadados de mapeamento suportados pelo framework e os mecanismos de geração de chaves primárias.
Nesta segunda parte será criada uma aplicação simples usando o Hibernate como mecanismo de persistência. Mais especificamente será utilizado o Hibernate JPA. Adotaremos o Integrated Development Environment (IDE) NetBeans como ambiente de desenvolvimento. A escolha deste ambiente se deu, não apenas por ele já trazer integradas as bibliotecas do Hibernate, da JPA e os drivers JDBC de diversos Sistemas de Gerenciamento de Banco de Dados (SGBDs), tais como o PostgreSQL e o MySQL, mas também, por disponibilizar diversos assistentes que facilitam o trabalho do desenvolvedor, como veremos adiante.
Desenvolvendo a Aplicação
Antes de iniciar o desenvolvimento usando o Hibernate é necessário analisar o cenário, pois, dependendo do problema a ser resolvido, a abordagem pode ser diferente. Pode-se iniciar um projeto a partir de uma análise orientada a objetos do domínio e um esquema de banco de dados recém-criado, a partir de uma aplicação legada onde o esquema será criado ou ainda, a partir de uma aplicação e esquema de banco de dados legados. Para quase todos esses cenários, o Hibernate oferece alternativas que podem ajudar o desenvolvedor.
Esquema de banco de dados é um conjunto de objetos tais como: tabelas, visões, sequências, procedimentos armazenados, etc., disponíveis para um determinado grupo de usuários. Um esquema é especificado por um grupo de comandos SQL chamado Data Definition Language (DDL), do qual faz parte CREATE TABLE, por exemplo.
Sistemas legados – incluem aplicações e esquemas de banco de dados – são sistemas antigos, geralmente sem documentação, mas que são fundamentais para uma organização. É comum que esses sistemas permaneçam ativos, devido à dificuldade e ao custo elevado para efetuar a sua modernização.
O roteiro que será seguido para o desenvolvimento da aplicação exemplo é o que foi proposto por Gavin King no livro Java Persistence with Hibernate:
· Escolher o processo de desenvolvimento. Entre os processos possíveis tem-se: top-down, bottom-up, middle-out e meet-in-the-middle. No top-down inicia-se uma aplicação a partir do modelo de domínio e sua implementação. Usa-se bottom-up quando já existe um esquema de banco de dados. Quando o desenvolvedor inicia a aplicação criando os arquivos de mapeamento em XML para então gerar o esquema de banco de dados o processo é chamado Middle-out. Meet-in-the-middle ocorre quando já existem as classes Java e o esquema de banco de dados;
· Definir a infraestrutura do projeto. Esta etapa corresponde a criar o projeto no ambiente de desenvolvimento e adicionar as bibliotecas necessárias. Como foi comentado anteriormente, o IDE NetBeans facilita bastante esta e outras etapas da criação da aplicação;
· Criar o modelo de domínio e os mapeamentos. Isto implica em escrever o código das classes persistentes e definir seus mapeamentos, seja usando XML ou anotações;
· Configurar o Hibernate. Quando o mapeamento é utilizado através de arquivos XML, a configuração é feita através de um arquivo chamado hibernate.cfg.xml ou de um arquivo de configuração chamado hibernate.properties. No entanto, como usaremos Hibernate Annotations, será utilizado o arquivo persistence.xml, pois este é o arquivo de configuração em uma aplicação JPA;
· Executar a aplicação. Nesta etapa é criada a classe principal da aplicação responsável por armazenar e ler os objetos. No entanto, é aconselhável que a responsabilidade por essas e outras operações sobre os objetos seja atribuída a uma classe controller ou Data Access Object (DAO), por exemplo.
No exemplo que será criado optamos por usar o processo top-down, visto que estamos iniciando um projeto totalmente novo. Como ambiente de desenvolvimento foi escolhido o NetBeans 6.9.1 e elegemos o PostgreSQL (PG) como SGBD. Além disso, optamos por escrever a aplicação utilizando JPA, ou seja, será utilizado Hibernate Annotations e Entity Manager.
Controller é um dos objetos do padrão Model-View-Controller (MVC). É a classe que converte as ações do usuário que ocorrem no View em tarefas que serão realizadas pelo Model. Os outros dois objetos do padrão são o Model, que mantém as regras de acesso a dados, e o View, que especifica como o Model deve ser apresentado.
DAO é um padrão de persistência. É um objeto responsável pelas operações no modelo de dados – criar, destruir, atualizar e ler – que permite separar as regras de negócio das regras de acesso a dados. Deve haver um DAO para cada tabela ou entidade no banco de dados.
Definindo a infraestrutura do projeto
Inicialmente será criado um novo projeto no NetBeans. Para isso pressione o botão New Project na barra de ferramentas. Na primeira tela de criação escolha a categoria Java, projeto do tipo Java Application e clique em Next, como pode ser visto na Figura 1. Em seguida atribua um nome ao projeto e deixe marcada apenas a opção "
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor



0
0
