MECANISMOS CHINESES PARA O FORTALECIMENTO

Propaganda
Seção Temática II:
Ciência e Tecnologia
DAO E HIBERNATE1
Wallace Caldeira
Jeverson Siqueira 2
Faculdade Anglo-Americano, Foz do Iguaçu, Paraná, Brasil
O Data Access Object (DAO) é um padrão introduzido no ambiente Java Enterprise
Edition (JEE) para simplificar a comunicação das aplicações Java com a Java Database
Connectivity (JDBC). Desenvolvido para solucionar três problemas principais, legado,
isolamento e mapeamento de objetos. O DAO encapsula lógicas de persistência legadas
escritas com SQL, permite alterar a API JDBC sem a necessidade de alterar a aplicação. O
DAO é responsável por operar o mecanismo de persistência em nome da aplicação
tipicamente executando os quatro tipos de operações, criar, recuperar, alterar e apagar
conhecidas pela sigla CRUD (Create, Retrive, Update, Delete). Em particular a regra só pode
ser executada em um tipo especifico de API de persistência. É aconcelhado que o DAO seja
especificado através de interface ao invés de uma classe concreta, desta forma facilita o
trabalho de implementar novos mecanismos de persistencia, porém, é impedido que se
criem referencias a classes que não são interface diminuindo o acoplamento a um
mecanismo em particular.
Podendo trabalhar em conjunto com o DAO, o Hibernate é uma framework para a
manipulação de banco de dados, com ele existem o mapeamento de classes (cada classe
representa uma tabela do banco) ele contém comandos (SQLs) prontos para trabalhar com o
BD. Usando o Hibernate, não é preciso que o desenvolvedor escreva muito do código SQL,
necessário quando o mesmo não é aplicado, acelerando a velocidade de desenvolvimento
de uma forma notável.
Nas questões relacionadas para o gerenciamento de transações e na tecnologia de
acesso à base de dados são de responsabilidade de outros elementos na infraestrutura do
programa. No caso de aplicações construídas para serem executadas em servidores de
aplicação, o gerenciamento das transações é realizado segundo o padrão Java Transaction
API (JTA) disponibiliza uma interface para a demarcação de transações em aplicações
1
Trabalho de Pesquisa desenvolvido sob a orientação do Prof. Ms. Miguel Diogenes Matrakas.
Acadêmicos de Ciência da Computação da Faculdade Anglo-Americano. E-mail de contato:
[email protected]; [email protected]
Seminário Científico Organizações, Tecnologia e Relações Internacionais, 2013.
2
Centro Universitário UDC, Faculdade Anglo-Americano, Foz do Iguaçu, Paraná, Brasil.
escritas na linguagem Java. Já nas aplicações stand alone, o programa delega o tratamento
transacional ao driver JDBC.
Portanto o Hibernate não é uma boa opção para todos os tipos de aplicação.
Sistemas que fazem uso extensivo de stored procedures, triggers ou que implementam a
maior parte da lógica da aplicação no banco de dados, contando com um modelo de objetos
não muito completo não vai se beneficiar com o uso do Hibernate. Ele é mais indicado para
sistemas que contam com um modelo mais robusto, onde a maior parte da lógica de
negócios fica na própria aplicação Java, dependendo pouco de funções específicas do banco
de dados.
Objeto de acesso a dados é um padrão para persistência de dados que permite
separar regras de negócio das regras de acesso a banco de dados. Numa aplicação que
utilize a arquitetura MVC, todas as funcionalidades de bancos de dados, tais como obter as
conexões, mapear objetos Java para tipos de dados SQL ou executar comandos SQL, devem
ser feitas por classes de DAO. Já o Hibernate facilita o mapeamento dos atributos entre uma
base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso
de arquivos (XML) ou anotações Java.
PALAVRAS-CHAVE: Padrão de Projeto, DAO, Hibernate, Acesso ao Banco de Dados.
Seminário Científico Organizações, Tecnologia e Relações Internacionais, 2013.
Centro Universitário UDC, Faculdade Anglo-Americano, Foz do Iguaçu, Paraná, Brasil.
Download