O que é hibernate ?

Hibernate é um framework para realizar o mapeamento objeto relacional(ORM) escrito na linguagem java, onde seu principal objetivo é diminuir a complexidade envolvido no desenvolvimento de aplicações que necessitam trabalhar com banco de dados relacional, onde ele realiza a intermediação entre o banco de dados e sua aplicação, poupando o desenvolvedor de ter que se preocupar com instruções SQL para recuperar ou persistir os dados do seu software.

Quem não tem muita familiaridade com java, ouve frequentemente falar em Hibernate e sempre tem dúvidas sobre a ferramenta e  da sua real importância, em muitos casos acreditam que não à necessidade de utiliza-lo, optando assim pelo jdbc puro,  porém trabalhar diretamente com banco de dados em java é bem trabalhoso e pouco produtivo, principalmente quando é preciso realizar manutenção ou até mesmo migração de SGDB.

O que o hibernate realmente faz?

O hibernate realiza o mapeamento do objeto relacional, ou seja, as tabelas do seu banco de dados são representadas através de classes na sua aplicação e as operações de recuperação e persistência dos dados são realizadas através de métodos do hibernate, sendo assim, o programador não precisa de se preocupar com instruções SQL como selects, join e etc, sendo o framework capaz até de resolver as peculiaridades que cada SGDB impõe.

Qual motivo de utilizar o hibernate e não minhas instruções sql diretamente no banco ?

  • Possível migrar para a maioria dos SGDBs disponíveis no mercado apenas modificando o arquivo de configuração do framework, sem necessidade de alterar uma linha de código do sua aplicação.
  • Totalmente orientado a objetos.
  • O hibernate executa as instruções sql para recuperar apenas as informações necessárias, evitando executar consultas complexas apenas para obter um determinado dado.
  • Detecta automaticamente qualquer alteração ou inclusão das classes mapeadas e executa as alterações devidas no banco de dados.
  • Realiza cache das operações, aumentando a performance do seu software.
  • E o mais importante, é 100% software livre.