Este tutorial foi desenvolvido por Cleber Calvi!

Hibernate é um framework para mapeamento de objeto-relacional, simplificando, ele faz um “de/para” da tabela para a classe mediante uso de arquivos XML. O objetivo do Hibernate é diminuir a complexidade entre os programas orientados a objeto (JAVA) que precisam trabalhar com um banco de dados do modelo relacional que é o mais comum. Em especial, no desenvolvimento de consultas e atualizações dos dados.

Funciona mais ou menos assim: Existe um arquivo de configuração para cada tabela, com a descrição da tabela e a forma de conexão, quando quisermos fazer um “select” não precisamos criar todo um método com JDBC e querys, basta fazer um simples “getTabela()” e pronto, os dados irão aparecer, como mágica!

Agora saindo um da teoria e indo à pratica, neste post iremos mostrar um pouquinho do potencial desse framework.

O hibernate não é um modelo de desenvolvimento de portais, mas sim uma forma de comunicação com o banco de dados na MVC ele estaria na camada MODEL. Para utilizá-lo é necessário já possuir uma aplicação pronta, os exemplos utilizados aqui têem como base o ProjetoX desenvolvido em JSF, ou seja para prosseguir com este tutorial é necessário:

1 – Conhecimento básico em JSF
2 – Ter SQLServer instalado
Nota: Pode ser outra base de dados, basta informar o driver correto nos arquivos de configuração, porém os exemplos utilizados neste tutorial foram construidos sobre um SQLServer.
3 – Efetuar o download das bibliotecas do Hibernate e Drivers de Conexão.

Agora que o download das bibliotecas foi efetuado, podemos criar o arquivo de configuração (lembre-se que todos os arquivos de configuração devem ser criados dentro da pasta WEB-INF).

Crie o arquivo hibernate.cfg.xml e insira as seguintes linhas de código:

<!DOCTYPE hibernate-configuration PUBLIC “-//Hibernate/Hibernate Configuration DTD 3.0//EN” “http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”>
<hibernate-configuration>
      <session-factory>
            <property name=“show_sql”>true</property>
            <property name=“hibernate.dialect”>org.hibernate.dialect.SQLServerDialect</property>
            <property name=hibernate.connection.driver_class”>com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
            <property name=“hibernate.connection.url”>jdbc:microsoft:sqlserver://[IP-Servidor]:[Porta];DatabaseName=HBM;SelectMethod=Cursor;</property>
            <property name=“hibernate.connection.username”>sa</property>
            <property name=“hibernate.connection.password”>admin</property>
                 <mapping resource=HBM.hbm.xml”/>
      </session-factory>
</hibernate-configuration>
Explicando um pouco:

<property name=“hibernate.dialect”>XXX</property> este é inserido o dialeto que o hibernate utilizará para entender a base de dados, até algum tempo atrás o hibernate não tinha suporte a stored procedure para mysql, pois não havia sido criado o dialeto para tal, caso queira utilizar outro banco de dados basta informar o dialeto correspondente (e baixar o Jar necessário, também).

<property name=“hibernate.connection.driver_class”>XXX</property> aqui é inserido o caminho do driver de conexão, este é encontrado no “jar” mssqlserver.jar que adicionamos ao nosso projeto, assim como no dialeto, se desejar utilizar outro banco de dados, basta efetuar o download do driver de conexão e informá-lo nesta tag.

<property name=“hibernate.connection.url”>XXX</property> aqui define-se onde está localizada e qual o nome da base que será utilizada, sendo [IP-Servidor] o nome ou IP da sua máquina e [Porta] a porta padrão do sqlserver (ou o seu banco de dados).

No próximo post, Gravação de dados!