DEV Community

Cover image for Entendendo e iniciando com Hibernate
Jonathas Rocha
Jonathas Rocha

Posted on • Edited on

Entendendo e iniciando com Hibernate

Tabela de Conteúdos:

Introdução
Algumas informações referentes ao Hibernate
O que é Hibernate
Introdução ao Hibernate
Prós da utilização do Hibernate
Configuração

Introdução

Este post é uma explicação e exemplificação resumida sobre Hibernate e JPA. Ao final do artigo estão algumas referências, vídeos e repositórios caso você queira se aprofundar ainda mais no assunto. Sou o Jonathas, e desde ja lhe desejo bons estudos!

Informações referentes ao Hibernate

Licença: GNU Lesser General Public License (Open-source)
Surgimento: 23 de Maio de 2001
Desenvolvedora: Red Hat

Repositórios:
https://github.com/hibernate

Sobre o Hibernate

O Hibernate é uma framework de ORM para a linguagem de programação Java. ORM significa Object Relational Mapper, ou mapeador de objeto relacional. O Hibernate é uma ferramenta muito utilizada nos dias de hoje, sendo, a mais conhecida entre os frameworks de ORM para Java.

O Hibernate tem o propósito de unir a orientação a objetos e bancos relacionais de uma maneira muito mais simples e descomplicada.

O framework Hibernate é o mais conhecido, dentre os frameworks ORM para a linguagem Java.

Prós da utilização do Hibernate

  • Economia de esforço e preocupação
  • Gerar o código SQL para qualquer banco de dados relacional
  • Gera o código SQL a partir de anotações, sem gerar dor de cabeça aos desenvolvedores
  • Confiabilidade. O Hibernate está a muito tempo no mercado, utilizado por grandes empresas e com uma comunidade ativa
  • Podemos trocar o banco de dados utilizado sem ter que alterar o código-fonte
  • Alta performance
  • Manutenabilidade
  • Escalabilidade
  • Produtividade
  • Provedor JPA
  • Open Source

JPA

Java Persistence API (ou simplesmente JPA) é uma API padrão da linguagem Java que descreve uma interface comum para frameworks de persistência de dados. A JPA define um meio de mapeamento objeto-relacional para objetos Java simples e comuns, denominados beans de entidade.

A JPA, funciona através de qualquer framework ORM (Mapeamento Objeto Relacional) baseado na especificação JPA. Pode ser o framework Hibernate, EclipseLink, TopLink, OpenJpa, etc.

JPA é muito utilizado para conexão e acesso a banco de dados relacionais.

Diagrama referente ao JPA

A ORM é a implementação da interface JPA. No nosso caso a ORM que utilizamos aqui neste artigo é o Hibernate.

Anotações no Hibernate (annotations)

Utilizamos anotações, para mapear modelos de base de dados. Possibilitando assim gerar alterações referentes as bases de dados, através das anotações.

As anotações são claras e intuitivas. Entre as anotações mais importantes temos o Entity, Table, Id e Column.

  • O @Entity, é utilizado para declarar uma entidade.
  • O @Table, é utilizado para declarar uma tabela no banco de dados.
  • O @id, é usado para declararmos o atributo id da nossa tabela.
  • O @Column, declaramos os atributos/colunas de uma tabela.

Prática (exemplo)

Tecnologias e Ferramentas

  • MySql Community
  • Java JDK
  • Intellij Community Edition 2022.1
  • SGBD de sua preferência (DbVisualizer, Workbench, DBeaver, etc)
  • Spring Boot (Maven Dependencies)
    • Spring Web (Web)
    • Spring Data JPA (SQL)
    • Spring Data
    • Hibernate
    • MySQL Driver (SQL)

Passo 01: Criação do projeto

Vamos acessar a página oficial do Spring Initializr, através do link: https://start.spring.io/.

Passo 01 - Spring Initializr

  1. Em seguida Selecionamos o tipo do projeto Maven na parte 'Project'
  2. Selecionamos Java, na parte 'Language'.
  3. Selecionamos uma versão estável na parte 'Spring Boot', sendo a atual 2.7.1
  4. Nomeamos o grupo, nome do projeto e afins
  5. Selecionamos a versão do Java que estamos utilizando;
  6. Selecionamos a dependencia Spring Data JPA (SQL)
  7. Selecionamos a dependencia MySQL Driver (SQL)
  8. Clicamos em 'Generate' e o projeto passa a ser baixado

Passo 02: Abrindo o projeto no Intellij

Vamos extrair o a pasta do projeto. Pode ser utilizado o WinRar, 7Zip, ou até mesmo alguma ferramenta nativa do sistema operacional que você estiver utilizando.

Abrindo projeto no Intellij

Em seguida abra seu projeto no Intellij, ou outra ferramenta de sua preferência como Eclipse, VSCode ou NetBeans.

Selecionando nosso projeto

Importanto o Maven

New > Module from Existing Sources... > Selecionamos nosso projeto > Selecionamos "import..." Maven > Clícamos em 'create'

Passo 03: Criando um banco de dados e testando conexão

No meu caso, estarei utilizando o banco de dados MySQL Community e o SGBD Workbench.

Criando uma nova conexão

Configure uma nova conexão no banco de dados, ou utilize uma existente. Teste a conexão do mesmo.

Criando um novo banco de dados

Crie um novo banco de dados com um nome de sua preferência e pronto!

Passo 04: Configurando o application.properties no projeto

No arquivo application.properties. Encontrando em 'src > main > resources'. Adicione o seguinte trecho de código:

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/tutorial
spring.datasource.username=root
spring.datasource.password=admin
Enter fullscreen mode Exit fullscreen mode

Referencie seus dados conforme cada propriedade da configuração do seu banco de dados (porta, nome do banco, username, password (senha)).

Passo 05: Estruturando o projeto

Passo 06: Criando 'Entities' e 'Repositories'

Passo 07: Testes - CRUD

Referências:

Algaworks- Alexandre Afonso - Tutorial definitivo: JPA
Tidicas - JPA
Wikipedia - JPA (Java Persistence API)
DevMedia - JDBC
DevMedia - Introdução ao Hibernate 3.5
Medium - Eduardo Ribeiro - Hibernate com Java 11
Youtube - Expertos Tech- COMO CRIAR UMA API REST EM JAVA E SPRING BOOT PASSO A PASSO

Top comments (0)