Javafree

Acessando Dados com Java: Parte 3 - Hibernate Annotations

Publicado por jesuino em 23/06/2011 - 199.002 visualizações

Acompanhe a parte 1(apresentação de um simples, mas defeituoso, acesso a dados usando JDBC) e a parte 2(Possíveis melhorias para a parte 1).

Objetivo: Mostrar um exemplo simples de acesso a dados com Java usando Hibernate Annotations.

Requerimentos: Para realizar esse tutorial você deve ter os seguintes JARs no seu projeto(No eclipse, de preferência), mais o jar para o driver do seu banco de dados utilizado:
0
Baixar Projeto do Eclipse


Persistindo Pessoas
Iremos utilizar o mesmo exemplo de entidade dos tutoriais anteriores, a entidade pessoa, que ficou como segue:

Quote:

Pessoa:
ID, RG, NOME, IDADE, CIDADE, ESTADO

Crie sua tabela no banco de dados. Nesse tutorial foi utilizado MySql como banco de dados, se também utilizar MySql, pode criar a tabela com o script abaixo:

Hibernate Annotations permite que você realize o mapeamento ORM sem utilizar XML, somente Annotations. Para isso você deve trabalhar com classes POJOs, ou seja, atributos privados, acessados pelos famosos métodos GET e SET.
Crie um pacote model e dentro a seguinte classe anotada:

A seguir uma explicação básica sobre cada anotação:
@Entity: Usamos para marcar uma classe como entidade do banco de dados. Esta classe deve estar em um pacote e não ter argumentos em seu construtor.
@Table: Essa anotação serve para indicar em qual tabela iremos salvar os dados. Se você não usar essa anotação, o Hibernate usa o nome da classe para a tabela. O atributo name refere-se ao nome da tabela.
@Id: Usamos para mostra o identificador único(chave primária) de nossa classe persistente. No nosso caso, o identificador único é o campo ID.
GeneratedValue:Indica que o valor para o identificador único será gerado automaticamente. Você pode configurar a forma de geração dos valores através do atributor strategy. Se você não colocar uma estratégia, será usada a estratégia AUTO.
0
@Column: Utilizamos para especificar uma coluna da tabela do banco de dados. No exemplo acima, especificamos que o campo RG e nome . Se você não mapear a coluna, o nome da propriedade será usado como nome da coluna.
0

Configurando a fonte de dados
O próximo passo é configurar nossa fonte de dados. Nesse ponto usamos mapeamento XML, o único. Nos iremos adicionar os dados da fonte e as classes mapeadas. Observe bem os parâmetros da fonte de dados, essa parte é muito comum apresentar erros. Meu XML ficou assim:


A fábrica de sessões
Quem já mexeu com Hibernate conhece muito bem a famosa fábrica de Sessões e a classe HibernateUtil. Crie um pacote chamado util e uma classe chamada HibernateUtil. Abaixo nossa classe HibernateUtil:

Agora nos resta testar para verificar se tudo que foi feito até aqui está certo. Uma classe de teste:

Perceba que neste teste simplesmente estamos instanciando uma pessoa e inserindo no banco de dados. Não há um DAO para abstrair as operações CRUD para com o banco. O próximo passo é criar esse DAO, que possibilitará maior flexibilidade e encapsulamento das operações com o banco de dados.

Conclusão
Apresentamos uma pequena amostra de persistência usando Hibernate Annotations. O foco desse tutorial, assim como dos outros, foi a simplicidade. É claro que quem conseguir terminar este tutorial não será o mestre Hibernate Annotations, mas terá um impulso para começar seus estudos.
Esperamos que todos possam usufruir desse tutorial, e lembramos que o fórum está aberto para retirada de dúvidas e compartilhamento de experiências.

Baixar Projeto do Eclipse

Futuro
Esse será o acesso básico para as próximas partes do nosso tutorial, onde mostraremos como montar interfaces para que um usuário comum possa utilizar-se do sistema.

Fonte: Vanilla Hibernate Annotation



Artigos desta série:
Acessando dados com Java: 1º parte - Simples Dao
Acessando Dados com Java: Parte 2 - Prevendo problemas
Acessando Dados com Java: Parte 3 - Hibernate Annotations



Leia também:
Acessando Banco de Dados em Java (PARTE 1)
Acessando Banco de Dados em Java (PARTE 2)
Acessando Banco de Dados em Java (PARTE 3)
Hibernate 3 com Spring e DAO Generico


Quer aprender mais sobre Java?
O que é Java?
Características Básicas
Orientação a Objetos



Tutoriais para Certificação Java
Fundamentos da Linguagem
Modificadores
Operadores e atribuições
Controle de Fluxo
Orientação a Objetos
Java Lang e Wrappers
Objetos e Conjuntos
Classes Internas
Threads (Segmentos)