DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Easy Java Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Introduçã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.






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
Este post também está disponível para assinantes da Easy Java Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Carlos Araújo

É professor do curso de Sistemas de Informação no Centro Universitário Luterano de Santarém – Pará. Leciona Estruturas de Dados e Linguagem de Programação Orientada a Objetos usando Java, desenvolve sistemas há 20 anos e é certificado SCJP. Mantém o blog http://professorcarlos.blogspot.com.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03