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 há necessidade de utilizá-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 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 se preocupar com instruções SQL como selects, join, CRUD (criação, leitura, atualização e exclusão de registros) e etc, sendo o framework capaz até de resolver as peculiaridades que cada SGDB impõe.
Motivos para utilizar o hibernate e não instruções SQL diretamente no banco de dados?
» 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;
» 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;