<aside> <img src="notion://custom_emoji/6a9f75af-b090-4ac1-9370-a797e429cd85/12c39bc1-c32f-80fa-b777-007a474b0a18" alt="notion://custom_emoji/6a9f75af-b090-4ac1-9370-a797e429cd85/12c39bc1-c32f-80fa-b777-007a474b0a18" width="40px" />

Descrição

O Hibernate é um framework de mapeamento objeto-relacional (ORM) amplamente utilizado no desenvolvimento de aplicações Java para facilitar a interação entre o sistema e o banco de dados. Ele permite mapear classes Java para tabelas do banco, reduzindo a necessidade de escrever consultas SQL manualmente e tornando o código mais organizado e produtivo. Seu funcionamento se baseia na conversão de objetos em registros no banco de dados e vice-versa, o que simplifica operações como inserção, consulta, atualização e remoção de dados. Além disso, o Hibernate oferece recursos como gerenciamento de transações, cache, carregamento lazy e suporte à linguagem HQL, que permite realizar consultas de forma orientada a objetos. Essa abordagem melhora a manutenção do sistema, reduz a complexidade do acesso a dados e aumenta a produtividade no desenvolvimento. O Hibernate é amplamente adotado em aplicações corporativas e costuma ser utilizado em conjunto com frameworks como Spring e Jakarta EE.

Procura por Srping Boot? acesse:

Spring Boot

</aside>

Fundamentos do Hibernate

O que é Hibernate?

O Hibernate é um framework Object-Relational Mapping (ORM) para a linguagem Java.

Hibernate vs. JPA

Esta é a distinção mais crucial:

Analogia: O JPA é a interface java.util.List, e o Hibernate é a implementação java.util.ArrayList.

Quando você usa o Spring Data JPA, ele usa a API do JPA por padrão, e o Hibernate é a implementação que o Spring Boot auto-configura para executar o trabalho.

Arquitetura e Conceitos-Chave

O Spring Boot esconde esta complexidade, mas é fundamental entendê-la.

  1. SessionFactory (JPA: EntityManagerFactory):
  2. Session (JPA: EntityManager):
  3. Transaction (Transação):
  4. Persistence Context (Contexto de Persistência):
  5. Dirty Checking (Verificação Suja):

Ciclo de Vida da Entidade