Vous êtes sur la page 1sur 19

TUTORIAL HIBERNATE OGM

Pré-requesitos:

 Netbeans: https://netbeans.org/downloads/
 Hibernate: http://hibernate.org/ogm/
 Postgree: https://www.postgresql.org/download/
 Postgree JDBC: https://jdbc.postgresql.org/download.html
 PGAdmin 4: https://www.pgadmin.org/download/pgadmin-4-windows/

OBS: As versões utilizadas são as listadas a seguir, assim pode haver divergência futura em alguma tela ou
código. (09/10/2017 – 11:16)

 Netbeans: 8.2
 Hibernate: OGM 5.1
 Postgree: (Usado apenas para instalar o SQL Server)
 Postgree JDBC: 42.1.4
 PGAdmin 4: 2.0

PREPARAÇÃO:

1) Instalar Netbeans
2) Instalar Postgree
a. Caso não tenha baixado a versão com o pgadmin 4, usar o link acima e baixar. O pgadmin 3, neste
dia de hoje, não era mais suportado.
3) NÃO PULE ETAPAS. Leia linha a linha e veja imagem por imagem, a pressa pode fazer pular alguma
configuração e no final resultar em funcionamento não planejado.

PRÁTICA:

Após baixar o Hibernate OGM, extraia o arquivo. Iremos utilizar os “jars” das pastas:
a) hibernate-ogm-5.1.0.Final\dist\lib\core
b) hibernate-ogm-5.1.0.Final\dist\lib\provided
Crie um projeto JAVA no Netbeans e coloque o nome de sua escolha. Após criar, siga atentamente as etapas a seguir:

1) Importe as bibliotecas das duas pastas do hibernate


2) Importe a biblioteca JDBC

As bibliotecas ficarão assim:


NOTA: Enquanto estiver seguindo este tutorial, o NetBeans pode inserir biblioteca adicional. A exclusão delas é
opcional mas pode evitar conflitos de classe, uma vez que as bibliotecas do NetBeans são versões antigas.

Agora iremos configurar o Hibernate no projeto. A tela a seguir demonstra cinco opções de itens, contudo iremos
utilizar apenas 4 destas (1ª, 3ª, 4ª e 5ª – Uma vez que a quarta opção, é a automatização da segunda).
Trabalhemos etapa por etapa:

1ª Etapa: Assistente de Configuração do Hibernate


Na segunda tela mude o nome se quiser, mas não a extensão. A preferência é manter tudo como esta.
IMPORTANTE: A pasta sempre deve ser “src”. (ou seja, fora de qualquer pacote).

Na terceira tela existe a opção de escolher qual conexão com banco de dados usar ou criar uma nova. Irei mostrar
como criar uma conexão nova, mas caso já a tenha criado, apenas selecione-a e clique em Finalizar e então pule para
a etapa 2.

Para criar uma conexão siga as imagens a seguir:


Após escolher criar nova conexão, aparecerá uma tela pedindo para escolher qual banco de dados quer conectar.
Na próxima, basta apenas preencher os dados da conexão:
IMPORTANTE: Sempre clique em testar antes de pular da segunda para a terceira etapa, pois se estiverem errados, o
arquivo será criado com as configurações erradas.
Na próxima etapa, selecione o schema que quer trabalhar.
NOTA: Caso esteja criando uma configuração MYSQL por exemplo, esta opção pode não ficar disponível se seu banco
de dados não trabalhar com schemas.

Agora só finalizar.
Veja que voltamos a etapa de criação do arquivo de configuração e a conexão que acabamos de criar, já aparece
selecionada.

Finalize novamente e terminamos de criar o arquivo de configuração.


IMPORTANTE: As vezes quando criar o arquivo, ele ficará em branco, se acontecer faça: Apague o arquivo, Reinicie o
NetBeans e Crie-o novamente (lembrando que a conexão criada não é perdida, bastando apenas selecioná-la na lista).

2ª Etapa: Assistente de Engenharia Reversa


Mude o nome se desejar, mas não a extensão. E a pasta sempre “src”.

Perceba nesta tela que de acordo com o arquivo de configuração selecionado, aparece as tabelas disponíveis. Isso
permite que trabalhemos com mais de um banco de dados ao mesmo tempo no mesmo projeto caso precise.
Selecione as tabela que irá trabalhar no seu projeto e as adicione (elas irão aparecer do lado direito).
NOTA: Sempre deixe marcado a opção “Incluir Tabelas Relacionadas”, isso faz com que caso adicione uma tabela, se
ela possuir chave estrangeira de outra, esta outra também será incorporada e assim sucessivamente.
No meu exemplo perceba uma coisa: Duas tabelas ficaram do lado esquerdo. Mas porque? Simples. Elas não possuem
chave primária. O hibernate não trabalha com tabelas que não possuem chaves primárias.
Agora apenas finalizar. Irá mostrar um arquivo com a lista das tabelas do banco de dados que irá trabalhar. Sim, este
arquivo é apenas para isso. E isso é importante para a próxima etapa.

3ª Etapa: Mapeamento e POJO

Esta etapa é apenas uma tela, nela você seleciona a configuração e a engenharia reversa desta configuração e ele irá
criar uma classe Java que representa cada tabela do seu banco de dados.
DICA: Apenas para organização - Preencha com um nome de pacote novo, ele será criado e todas as classes serão
inseridas nele.
IMPORTANTE: Deixe os checkboxs marcados como na imagem, isso maximiza a compatibilidade com versões java
anteriores, e desde o JDK 5 (anotações – annotations) os arquivos xml não são mais úteis. Assim pode escolher, marcar
o primeiro checkbox ou o último.
Depois que finalizar, no seu projeto você terá algo assim:

4ª Etapa: Hibernate Util


Nesta etapa apenas coloque o nome que desejar e um pacote que NÃO PODE SER “src”. O arquivo gerado contém o
método que iremos utilizar para conectar com o BD.
Pronto. Terminamos de configurar o Hibernate, agora precisamos criar apenas mais um arquivo: A unidade de
persistência.

5ª Etapa: Unidade de Persistência


Aqui bastamos apenas: Selecionar um nome, Selecionar “Hibernate (JPA X.X)” no segundo item, escolher a conexão
com o banco de dados e selecionar o item “nenhum”.
NOTA: O item “criar” e “eliminar e criar” é uma parte um pouco avançada de onde permitimos o programa criar o
banco de dados através das classes que temos, porém como é um tutorial básico, esta parte não será apresentada).
Ao final, nosso projeto parecido com a imagem abaixo, divergindo a pasta “entidades”, onde aparecerá as classes das
tabelas do banco de dados que usou.
AJUSTES

1º - O netbeans trabalha com a versão antiga do Hibernate, assim quaisquer biblioteca ele adicionar de forma
automática pode ser excluída para evitar possível conflito de classes. Se não souber quais foram, apenas apague todas
e adicione novamente as que foram informadas neste tutorial.

2º - Como dito acima, a versão do hibernate é a antiga assim a classe Hibernate Util precisa ser atualizada para um
código mais eficiente e seguro. Esta a seguir:

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;

public class HibernateUtil {

private static EntityManagerFactory entityManagerFactory;


@PersistenceContext(unitName="bigbrother",type=PersistenceContextType.EXTENDED)
public static EntityManager getEntityManager(){
if (entityManagerFactory == null){
entityManagerFactory =
Persistence.createEntityManagerFactory("NomeDaUnidadeDePersistencia");
}
return entityManagerFactory.createEntityManager();
}
}

Note que acima esta escrito: “NomeDaUnidadeDePersistencia”. Este é o nome da unidade de persistência que você
criou há pouco tempo.

Feito estes ajustes, agora testar nosso código. Uma função simples de busca pode ser vista abaixo:

public static ArrayList<Employee> buscarEmployess() {

String consulta = "select c from Employee c";

EntityManager em = NewHibernateUtil.getEntityManager();
try {
em.getTransaction().begin();
Query query = em.createQuery(consulta,Employee.class);
List<Employee> c = (List<Employee>)query.getResultList();
em.getTransaction().commit();
return new ArrayList<>(c);
} catch (Exception e) {
System.out.println(e.getMessage());
em.getTransaction().rollback();
} finally {
em.close();
}
return null;

}
Neste código estou fazendo uma busca na minha tabela “Employee” e retornando os dados em forma de ArrayList.
Esta busca simples apenas me retorna todas as informações da tabela, para testar no seu apenas mude a palavra
Employee para uma que seja o nome de alguma tabela do seu banco de dados.

E finalizamos aqui o tutorial. Informações mais detalhadas serão sendo inseridas gradativamente.

Vous aimerez peut-être aussi