<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Edson Gonçalves &#187; Hibernate</title>
	<atom:link href="http://www.edsongoncalves.com.br/category/hibernate/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.edsongoncalves.com.br</link>
	<description>Tecnologia e Conhecimento ao Alcance de Todos</description>
	<lastBuildDate>Fri, 23 Sep 2011 00:49:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hibernate com Hibernate Tools</title>
		<link>http://www.edsongoncalves.com.br/2010/06/27/hibernate-com-hibernate-tools/</link>
		<comments>http://www.edsongoncalves.com.br/2010/06/27/hibernate-com-hibernate-tools/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 04:30:05 +0000</pubDate>
		<dc:creator>Edson Gonçalves</dc:creator>
				<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Java EE 6]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA 2.0]]></category>

		<guid isPermaLink="false">http://www.edsongoncalves.com.br/?p=395</guid>
		<description><![CDATA[Olá Pessoal, tudo bom? Como vão vocês? O artigo que veremos fala sobre a utilização do Hibernate Tools, um excelente plugin para o Eclipse IDE, oficial da Red Hat, feito para trabalhar com o Hibernate. Dúvidas e críticas são sempre bem vindas. Obtendo e instalando o Eclipse IDE Para desenvolver este exemplo, utilizei a versão [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal, tudo bom? Como vão vocês?</p>
<p>O artigo que veremos fala sobre a utilização do Hibernate Tools, um excelente plugin para o Eclipse IDE, oficial da Red Hat, feito para trabalhar com o Hibernate.</p>
<p>Dúvidas e críticas são sempre bem vindas.</p>
<h3>Obtendo e instalando o Eclipse IDE</h3>
<p>Para desenvolver este exemplo, utilizei a versão do Eclipse IDE 3.6, em um ambiente voltado para o trabalho com Java EE. Para obter o Eclipse IDE, já configurado com o ambiente Web, vá ao endereço <a href="http://www.eclipse.org/downloads/"><strong>http://www.eclipse.org/downloads/</strong></a> e clique em <strong>Eclipse IDE for Java EE Developers</strong>. Lembre-se de selecionar o seu sistema operacional.</p>
<p>Ao baixar, descompacte em um local desejado de sua máquina.</p>
<h3>O plugin JBoss Tools</h3>
<p>Para a versão do Eclipse 3.6, o atual enquanto escrevo este artigo, temos uma versão em desenvolvimento compatível do plugin JBoss Tools. Para obtê-lo, basta baixar a versão de desenvolvimento atual, encontrada em um dos diretórios existentes dentro deste endereço:</p>
<p><a href="http://download.jboss.org/jbosstools/builds/nightly/trunk/"><strong>http://download.jboss.org/jbosstools/builds/nightly/trunk/</strong></a><strong> </strong></p>
<p>Podemos baixar o Hibernate Tools separadamente ou, como fiz, baixando o JBoss Tools completo. O arquivo que obtive, no momento em que escrevo é o <a href="http://download.jboss.org/jbosstools/builds/nightly/trunk/201006240331/all/JBossTools-Update-3.2.0.v201006240331N-H369-M1.zip"><strong>JBossTools-Update-3.2.0.v201006240331N-H369-M1.zip</strong></a>. Com o Eclipse IDE fechado, ao baixar o plugin, descompacte e mova seu conteúdo  sobre o diretório eclipse. Isto fará a instalação do  plugin JBoss Tools. Depois de adicionarmos o plugin, inicie o Eclipse.</p>
<table border="1">
<tbody>
<tr>
<td><strong>Atenção: </strong>Por se tratar de uma versão em desenvolvimento, o  endereço passado neste artigo poderá sofrer alterações. Portanto, sempre  verifique a última versão no endereço <a href="http://download.jboss.org/jbosstools/builds/">http://download.jboss.org/jbosstools/builds/</a>.  As versões de desenvolvimento costumam causar instabilidade no Eclipse,  portanto, façam seu uso em um ambiente de testes.</td>
</tr>
</tbody>
</table>
<h3>O banco de dados</h3>
<p>Utilizaremos o banco de dados MySQL, que pode ser adquirido <a href="http://dev.mysql.com/downloads/mysql/"><strong>clicando aqui</strong></a>. O banco de dados que utilizaremos para executar o exemplo se chamará <strong>hibernatenapratica</strong>.</p>
<h3>Criando o projeto</h3>
<p>Iniciem alterando a perspectiva. No ícone <strong>Open Perspective<a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/icone-open-perspective1.jpg" rel="lightbox[395]"><img class="size-full wp-image-397 alignnone" title="icone-open-perspective" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/icone-open-perspective1.jpg" alt="" width="155" height="39" /></a></strong>,  cliquem em <strong>Other</strong>.</p>
<div id="attachment_398" class="wp-caption alignnone" style="width: 134px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-15.jpg" rel="lightbox[395]"><img class="size-full wp-image-398 " title="Figura 1" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-15.jpg" alt="Figure 1 – Alterando a Perspectiva" width="124" height="144" /></a><p class="wp-caption-text">Figura 1 – Alterando a Perspectiva</p></div>
<p>Selecionem em seguida a Perspectiva <strong>Hibernate</strong>.</p>
<div id="attachment_399" class="wp-caption alignnone" style="width: 257px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-21.jpg" rel="lightbox[395]"><img class="size-medium wp-image-399 " title="Figura 2" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-21-247x300.jpg" alt="Figure 2 – Seleção da perspectiva Hibernate" width="247" height="300" /></a><p class="wp-caption-text">Figura 2 – Seleção da perspectiva Hibernate</p></div>
<p>Na view <strong>Package Explorer</strong>, cliquem com o direito do mouse e selecionem, no menu de contexto, o item <strong>Project</strong>.</p>
<div id="attachment_400" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-31.jpg" rel="lightbox[395]"><img class="size-medium wp-image-400" title="Figura 3" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-31-300x117.jpg" alt="Figure 3 – Criando um novo projeto pela view Package Explorer através do menu de contexto" width="300" height="117" /></a><p class="wp-caption-text">Figura 3 – Criando um novo projeto pela view Package Explorer através do menu de contexto</p></div>
<p>Na caixa de dialogo <strong>New Project</strong>, selecionem <strong>Java&gt;Java Project</strong> e cliquem no botão <strong>Next</strong>.</p>
<div id="attachment_401" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-41.jpg" rel="lightbox[395]"><img class="size-medium wp-image-401" title="Figura 4" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-41-300x285.jpg" alt="Figure 4 – Seleção da opção Java Project" width="300" height="285" /></a><p class="wp-caption-text">Figura 4 – Seleção da opção Java Project</p></div>
<p>Em <strong>New Java Project</strong>, digitem o nome do seu projeto. Irei utilizar o nome <strong>ProjUtilizandoHibernateTools</strong>. Em seguida, cliquem no botão <strong>Finish</strong>.</p>
<div id="attachment_402" class="wp-caption alignnone" style="width: 267px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-51.jpg" rel="lightbox[395]"><img class="size-medium wp-image-402" title="Figura 5" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-51-257x300.jpg" alt="Figure 5 – Criação de um projeto Java" width="257" height="300" /></a><p class="wp-caption-text">Figura 5 – Criação de um projeto Java</p></div>
<p>Ao surgir a caixa de dialogo <strong>Open Associated Perspective</strong>, cliquem no botão <strong>No</strong>. Nós não precisaremos da perspectiva Java apenas para editar o projeto, uma vez que nossa intenção é trabalhar única e exclusivamente com o Hibernate.</p>
<div id="attachment_403" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-61.jpg" rel="lightbox[395]"><img class="size-medium wp-image-403" title="Figura 6" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-61-300x121.jpg" alt="Figure 6 – Pergunta automática de alteração de perspectiva feita dependendo do tipo de projeto criado" width="300" height="121" /></a><p class="wp-caption-text">Figura 6 – Pergunta automática de alteração de perspectiva feita dependendo do tipo de projeto criado</p></div>
<h3>As bibliotecas</h3>
<p>Para trabalhar com o Hibernate 3.5, primeiramente será preciso configurar os arquivos no projeto. Para adicionar as bibliotecas que necessitamos ao projeto, cliquem com o direito do mouse sobre o mesmo, na view <strong>Package Explorer</strong> e, no menu de contexto, selecionem <strong>Properties</strong>.</p>
<div id="attachment_404" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-71.jpg" rel="lightbox[395]"><img class="size-medium wp-image-404" title="Figura 7" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-71-300x214.jpg" alt="Figure 7 – Bibliotecas do projeto" width="300" height="214" /></a><p class="wp-caption-text">Figura 7 – Bibliotecas do projeto</p></div>
<p>Vocês podem baixar as bibliotecas do Hibernate <a href="https://www.hibernate.org/">clicando aqui</a>. No site, em <strong>Download</strong>, no menu lateral esquerdo, encontramos as bibliotecas para serem baixadas. A versão, no momento em que escrevo, é a 3.5.1.</p>
<p>Os arquivos que utilizaremos no projeto serão os encontrados em:</p>
<ul>
<li><strong>Hibernate Core </strong></li>
</ul>
<p>Ao baixar os arquivos, descompacte-os.  Vocês precisarão das seguintes bibliotecas:</p>
<ul>
<li><strong>hibernate3.jar</strong></li>
<li><strong>antlr-2.7.6.jar</strong></li>
<li><strong>commons-collections-3.1.jar</strong></li>
<li><strong>dom4j-1.6.1.jar</strong></li>
<li><strong>javassist-3.9.0.GA.jar</strong></li>
<li><strong>jta-1.1.jar</strong></li>
<li><strong>slf4j-api-1.5.8.jar</strong></li>
<li><strong>hibernate-jpa-2.0-api-1.0.0-CR-1.jar</strong></li>
</ul>
<p>Além destes arquivos, será necessário utilizar as bibliotecas da <a href="http://www.slf4j.org/">Simple Logging Facade for Java</a>, SLF4J. Baixem os arquivos com todas as bibliotecas da SLF4J <a href="http://www.slf4j.org/download.html">aqui</a>.</p>
<p>Ao descompactar o arquivo, vocês encontrarão a seguinte biblioteca:</p>
<ul>
<li><strong>slf4j-jdk14-1.5.11.jar</strong></li>
</ul>
<p>Por fim, também necessitaremos da biblioteca JDBC do MySQL, que pode ser obtida <a href="http://mysql.com/downloads/">clicando aqui</a>. A versão 5.1.10 era, no momento em que este artigo começa a ser escrito, a versão mais atual. Entretanto, é possível que, com o tempo, isto esteja alterado.</p>
<p>Para o projeto, precisaremos do seguinte JAR:</p>
<ul>
<li><strong>mysql-connector-java-5.1.10-bin.jar</strong></li>
</ul>
<h3>Criando o JavaBean Categoria</h3>
<p>Com o direito do mouse em seu projeto, vamos até o item <strong>New&gt;Other</strong>. Na caixa de diálogo <strong>New</strong>, selecionem<strong> Java&gt;Class</strong>. Na caixa de diálogo <strong>New Java Class</strong>, preencham o pacote (<strong>br.com.integrator</strong>) e o nome da classe, no caso <strong>Categoria</strong>, em <strong>Name</strong>. Confirmem a criação no botão <strong>Finish</strong>.</p>
<div id="attachment_405" class="wp-caption alignnone" style="width: 257px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-81.jpg" rel="lightbox[395]"><img class="size-medium wp-image-405" title="Figura 8" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-81-247x300.jpg" alt="Figure 8 – Criando a classe Categoria" width="247" height="300" /></a><p class="wp-caption-text">Figura 8 – Criando a classe Categoria</p></div>
<p>Alterem a classe <strong>Categoria</strong> conforme mostrado na <strong>Listagem 1</strong>.</p>
<p><strong>Listagem 1 – O JavaBean Categoria</strong></p>
<pre class="brush:java">package br.com.integrator;

import java.io.Serializable;

import java.lang.Long;

import java.lang.String;

public class Categoria implements Serializable {

private Long id;

private String categoria;

private String descricao;

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getCategoria() {

return categoria;

}

public void setCategoria(String categoria) {

this.categoria = categoria;

}

public String getDescricao() {

return descricao;

}

public void setDescricao(String descricao) {

this.descricao = descricao;

}

}</pre>
<h3>Mapeando a tabela no Hibernate utilizando a forma tradicional</h3>
<p>Para mapear a tabela correspondente no banco de dados a classe Categoria, através do Hibernate, temos que criar um XML como forma tradicional de utilização do framework.</p>
<p>Selecionem o pacote e a classe na view <strong>Package Explorer</strong> e, com o direito do mouse, selecionem o item <strong>New&gt;Hibernate XML Mapping file (hbm.xml)</strong>.</p>
<div id="attachment_406" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-91.jpg" rel="lightbox[395]"><img class="size-medium wp-image-406" title="Figura 9" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-91-300x111.jpg" alt="Figure 9 – Seleção do item Hibernate XML Mapping file (hbm.xml) no menu de contexto" width="300" height="111" /></a><p class="wp-caption-text">Figura 9 – Seleção do item Hibernate XML Mapping file (hbm.xml) no menu de contexto</p></div>
<p>Na caixa de diálogo <strong>New Hibernate XML Mapping Files (hbm.xml)</strong>, teremos os dois itens selecionados: o pacote e a classe. Caso tenhamos esquecido de selecionar um ou ambos, podemos clicar nos botões que estão na lateral direita (<strong>Add Class</strong> e <strong>Add Package</strong>). Continuem no botão <strong>Next</strong>.</p>
<div id="attachment_407" class="wp-caption alignnone" style="width: 278px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-101.jpg" rel="lightbox[395]"><img class="size-medium wp-image-407" title="Figura 10" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-101-268x300.jpg" alt="Figure 10 – Criação do arquivo XML de mapeamento do Hibernate" width="268" height="300" /></a><p class="wp-caption-text">Figura 10 – Criação do arquivo XML de mapeamento do Hibernate</p></div>
<p>Na etapa seguinte o assistente exibirá o arquivo <strong>Categoria.hbm.xml</strong> que será criado.  Continuem no botão <strong>Next</strong>.</p>
<div id="attachment_408" class="wp-caption alignnone" style="width: 278px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-111.jpg" rel="lightbox[395]"><img class="size-medium wp-image-408" title="Figura 11" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-111-268x300.jpg" alt="Figure 11 – Apresentação do arquivo XML de mapeamento do Hibernate que será criado" width="268" height="300" /></a><p class="wp-caption-text">Figura 11 – Apresentação do arquivo XML de mapeamento do Hibernate que será criado</p></div>
<p>A última etapa apresentará o XML do mapeamento criado para o Hibernate, onde a base foi a classe Categoria. Confirmem a criação no botão <strong>Finish</strong>.</p>
<div id="attachment_409" class="wp-caption alignnone" style="width: 274px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-121.jpg" rel="lightbox[395]"><img class="size-medium wp-image-409" title="Figura 12" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-121-264x300.jpg" alt="Figure 12 – Arquivo XML do mapeamento que será criado" width="264" height="300" /></a><p class="wp-caption-text">Figura 12 – Arquivo XML do mapeamento que será criado</p></div>
<p>Com a finalização do assistente, temos o XML gerado aberto pelo editor do Hibernate Tools. Neste editor podemos mudar as características que desejamos no XML gerado, colocando mais informações em cada propriedade.</p>
<div id="attachment_410" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-132.jpg" rel="lightbox[395]"><img class="size-medium wp-image-410" title="Figura 13" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-132-300x231.jpg" alt="Figure 13 – Editor do XML gerado para Hibernate" width="300" height="231" /></a><p class="wp-caption-text">Figura 13 – Editor do XML gerado para Hibernate</p></div>
<p>O resultado final será como o mostrado na <strong>Listagem 2</strong> a seguir:</p>
<p><strong>Listagem 2 – O arquivo Categoria.hbm.xml</strong></p>
<p>O resultado final será como o mostrado na <strong>Listagem 2</strong> a seguir:</p>
<p><strong>Listagem 2 – O arquivo Categoria.hbm.xml</strong></p>
<pre class="brush:xml">&lt;?xml version="1.0"?&gt;

&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt;

&lt;!-- Generated 24/06/2010 05:07:14 by Hibernate Tools 3.3.0.GA --&gt;

&lt;hibernate-mapping&gt;

&lt;class name="br.com.integrator.Categoria" table="categoria"&gt;

&lt;id name="id" type="java.lang.Long"&gt;

&lt;column name="id"/&gt;

&lt;generator class="increment"/&gt;

&lt;/id&gt;

&lt;property generated="never" lazy="false" name="categoria" type="java.lang.String"&gt;

&lt;column name="categoria" length="50"/&gt;

&lt;/property&gt;

&lt;property generated="never" lazy="false" name="descricao" type="java.lang.String"&gt;

&lt;column name="descricao"/&gt;

&lt;/property&gt;

&lt;/class&gt;

&lt;/hibernate-mapping&gt;</pre>
<h3>Configurando o Hibernate</h3>
<p>Com o direito do mouse sobre <strong>src</strong>, na view <strong>Package Explorer</strong>, selecionem <strong>Hibernate Configuration File (cfg.xml)</strong>.</p>
<div id="attachment_411" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-141.jpg" rel="lightbox[395]"><img class="size-medium wp-image-411" title="Figura 14" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-141-300x125.jpg" alt="Figure 14 – Criação do arquivo hibernate.cfg.xml" width="300" height="125" /></a><p class="wp-caption-text">Figura 14 – Criação do arquivo hibernate.cfg.xml</p></div>
<p>Ao surgir o assistente, deixem o nome do arquivo como <strong>hibernate.cfg.xml</strong> e prossigam no botão <strong>Next</strong>.</p>
<div id="attachment_412" class="wp-caption alignnone" style="width: 254px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-151.jpg" rel="lightbox[395]"><img class="size-medium wp-image-412" title="Figura 15" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-151-244x300.jpg" alt="Figure 15 – Assistente de criação do arquivo de configuração do Hibernate" width="244" height="300" /></a><p class="wp-caption-text">Figura 15 – Assistente de criação do arquivo de configuração do Hibernate</p></div>
<p>Como vamos utilizar o banco de dados MySQL, preencham os campos como mostrado na <strong>Figura 16</strong>, alterando de acordo com as configurações que possuem em seu banco de dados.</p>
<p>Por fim, marquem a opção <strong>Create a console configuration</strong>.  Cliquem no botão <strong>Next</strong>.</p>
<div id="attachment_413" class="wp-caption alignnone" style="width: 254px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-16.jpg" rel="lightbox[395]"><img class="size-medium wp-image-413" title="Figura 16" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-16-244x300.jpg" alt="Figure 16 – Configuração do banco de dados no hibernate.cfg.xml " width="244" height="300" /></a><p class="wp-caption-text">Figura 16 – Configuração do banco de dados no hibernate.cfg.xml </p></div>
<p>Na última etapa, temos as configurações do console do Hibernate. Este console, quando configurado e funcional, nos permite  executar queries HQL ou trabalhar com Criteria.</p>
<div id="attachment_414" class="wp-caption alignnone" style="width: 254px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-17.jpg" rel="lightbox[395]"><img class="size-medium wp-image-414" title="Figura 17" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-17-244x300.jpg" alt="Figure 17 – Configuração do console Hibernate" width="244" height="300" /></a><p class="wp-caption-text">Figura 17 – Configuração do console Hibernate</p></div>
<p>Cliquem na aba <strong>Mappings</strong> e removam o caminho configurado automaticamente para o arquivo <strong>Categoria.hbm.xml</strong>. Este caminho não será preciso porque iremos configurá-lo diretamente no arquivo <strong>hibernate.cfg.xml</strong>, ao qual o console fará uso também. Confirmem o assistente clicando no botão <strong>Finish</strong>.</p>
<div id="attachment_415" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-17-Complemento.jpg" rel="lightbox[395]"><img class="size-medium wp-image-415" title="Figura 17-Complemento" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-17-Complemento-300x216.jpg" alt="Figure 18 – A abra Mappings da configuração do console" width="300" height="216" /></a><p class="wp-caption-text">Figura 18 – A abra Mappings da configuração do console</p></div>
<p>Na finalização do assistente, abrirá o editor do arquivo de configuração do Hibernate.</p>
<div id="attachment_416" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-18.jpg" rel="lightbox[395]"><img class="size-medium wp-image-416" title="Figura 18" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-18-300x172.jpg" alt="Figure 19 – O editor do arquivo de configuração do Hibernate" width="300" height="172" /></a><p class="wp-caption-text">Figura 19 – O editor do arquivo de configuração do Hibernate</p></div>
<p>Como muitas das informações que desejávamos, foram colocadas no assistente, resta apenas adicionar o caminho para <strong>Categoria.hbm.xml</strong>. Para fazermos isso, basta ir no botão <strong>Add</strong> e digitar o caminho em <strong>Resource</strong>.</p>
<div id="attachment_418" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-20.jpg" rel="lightbox[395]"><img class="size-medium wp-image-418" title="Figura 20" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-20-300x125.jpg" alt="Figura 20 – Detalhe de Mappings com o arquivo Categoria.hbm.xml adicionado" width="300" height="125" /></a><p class="wp-caption-text">Figura 20 – Detalhe de Mappings com o arquivo Categoria.hbm.xml adicionado</p></div>
<p>Para executarmos o exemplo, tornando possível a criação da tabela no banco de dados pelo Hibernate, assim como sua recriação a cada nova execução, expandindo <strong>Session Factory&gt;Properties&gt;Hibernate</strong>, em <strong>Hibernate Configuration 3.0 XML Editor</strong>, alterem <strong>Hbm2ddl Auto</strong> para <strong>create-drop</strong>.</p>
<p>Neste mesmo local, onde temos as propriedades, podemos alterar para <strong>true</strong> em <strong>Show SQL</strong>, <strong>Use SQL Comments</strong> e <strong>Format SQL</strong>.</p>
<div id="attachment_419" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-211.jpg" rel="lightbox[395]"><img class="size-medium wp-image-419" title="Figura 21" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-211-300x242.jpg" alt="Figura 21 – Adicionando novas propriedades ao arquivo hibernate.cfg.xml" width="300" height="242" /></a><p class="wp-caption-text">Figura 21 – Adicionando novas propriedades ao arquivo hibernate.cfg.xml</p></div>
<p>O resultado final das configurações, no arquivo <strong>hibernate.cfg.xml</strong>, são mostrados na <strong>Listagem 3</strong> a seguir:</p>
<p><strong>Listagem 3 – O arquivo hibernate.cfg.xml</strong></p>
<pre class="brush:xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt;

&lt;hibernate-configuration&gt;

&lt;session-factory&gt;

&lt;property name="hibernate.connection.driver_class"&gt;org.gjt.mm.mysql.Driver&lt;/property&gt;

&lt;property name="hibernate.connection.password"&gt;integrator&lt;/property&gt;

&lt;property name="hibernate.connection.url"&gt;jdbc:mysql://localhost/hibernatenapratica&lt;/property&gt;

&lt;property name="hibernate.connection.username"&gt;edson&lt;/property&gt;

&lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.MySQL5InnoDBDialect&lt;/property&gt;

&lt;property name="hibernate.show_sql"&gt;true&lt;/property&gt;

&lt;property name="hibernate.use_sql_comments"&gt;true&lt;/property&gt;

&lt;property name="hibernate.format_sql"&gt;true&lt;/property&gt;

&lt;property name="hibernate.hbm2ddl.auto"&gt;create-drop&lt;/property&gt;

&lt;mapping resource="br/com/integrator/Categoria.hbm.xml"/&gt;

&lt;/session-factory&gt;

&lt;/hibernate-configuration&gt;</pre>
<h3>Algumas características do Hibernate Tools</h3>
<p>Como Hibernate está devidamente configurado, podemos já utilizar algumas de suas características.</p>
<div id="attachment_420" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-22.jpg" rel="lightbox[395]"><img class="size-medium wp-image-420" title="Figura 22" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-22-300x213.jpg" alt="Figura 22 – A view Hibernate Configurations após as configurações do arquivo hibernate.cfg.xml " width="300" height="213" /></a><p class="wp-caption-text">Figura 22 – A view Hibernate Configurations após as configurações do arquivo hibernate.cfg.xml </p></div>
<p>Na view <strong>Hibernate Configurations</strong>, cliquem com o direito do mouse e selecionem <strong>Mapping Diagram</strong>.</p>
<div id="attachment_421" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-23.jpg" rel="lightbox[395]"><img class="size-medium wp-image-421" title="Figura 23" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-23-300x213.jpg" alt="Figura 23 – Acessando Mapping Diagram no menu de contexto" width="300" height="213" /></a><p class="wp-caption-text">Figura 23 – Acessando Mapping Diagram no menu de contexto</p></div>
<p>O Hibernate Tools possui uma ferramenta visual que nos permite visualizar as classes mapeadas em suas tabelas correspondentes encontradas no banco de dados.  Isto não significa que a tabela já exista no banco de dados. Trata-se da forma como a configuração “enxerga” a tabela em que irá trabalhar no banco de dados.</p>
<div id="attachment_422" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-24.jpg" rel="lightbox[395]"><img class="size-medium wp-image-422" title="Figura 24" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-24-300x97.jpg" alt="Figura 24 – Visualizando a classe Categoria mapeada para a tabela correspondente no banco de dados" width="300" height="97" /></a><p class="wp-caption-text">Figura 24 – Visualizando a classe Categoria mapeada para a tabela correspondente no banco de dados</p></div>
<h3>Colocando o Hibernate para trabalhar</h3>
<p>Iremos criar duas pequenas classes que juntas irão gerar a tabela e seus  dados dela no banco de dados.</p>
<p>Com o direito do mouse sobre <strong>src</strong>, na view <strong>Package Explorer</strong>, selecionem o item <strong>New&gt;Other</strong>.  Na caixa de dialogo <strong>New</strong>, selecionem <strong>Java&gt;Class</strong>.</p>
<p>Coloquem o pacote <strong>br.com.integrator.util</strong> e deem o nome da classe de <strong>HIbernateUtil</strong>, confirmando o assistente, em seguida, no botão <strong>Finish</strong>.</p>
<div id="attachment_423" class="wp-caption alignnone" style="width: 257px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-25.jpg" rel="lightbox[395]"><img class="size-medium wp-image-423" title="Figura 25" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-25-247x300.jpg" alt="Figura 25 – Criação da classe HibernateUtil" width="247" height="300" /></a><p class="wp-caption-text">Figura 25 – Criação da classe HibernateUtil</p></div>
<p>O conteúdo da classe <strong>HibernateUtil </strong>será similar ao mostrado na <strong>Listagem 4</strong> a seguir:</p>
<p><strong>Listagem 4 – A classe HibernateUtil</strong></p>
<pre class="brush:java">package br.com.integrator.util;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

public class HibernateUtil {

private  static final SessionFactory sessionFactory;

static {

try {

sessionFactory = new Configuration().configure()

.buildSessionFactory();

} catch (Throwable ex) {

System.err.println("Initial SessionFactory creation failed." + ex);

throw new ExceptionInInitializerError(ex);

}

}

public static SessionFactory getSessionFactory() {

return sessionFactory;

}

}</pre>
<p>A segunda classe que criaremos irá se chamar <strong>Main</strong> e será colocada no pacote <strong>br.com.integrator</strong>.</p>
<div id="attachment_424" class="wp-caption alignnone" style="width: 257px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-26.jpg" rel="lightbox[395]"><img class="size-medium wp-image-424" title="Figura 26" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-26-247x300.jpg" alt="Figura 26 – Criação da classe Main" width="247" height="300" /></a><p class="wp-caption-text">Figura 26 – Criação da classe Main</p></div>
<p>O conteúdo da classe <strong>Main</strong> é mostrado na <strong>Listagem 5</strong> a seguir:</p>
<p><strong>Listagem 5 – A classe Main</strong></p>
<pre class="brush:java">package br.com.integrator;

import org.hibernate.HibernateException;

import org.hibernate.Session;

import org.hibernate.Transaction;

import br.com.integrator.util.HibernateUtil;

public class Main {

public static void main(String[] args) {

Session session = HibernateUtil.getSessionFactory().openSession();

Transaction transaction = null;

try {

transaction = session.beginTransaction();

Categoria categoria1 = new Categoria();

categoria1.setCategoria("Informática");

categoria1.setDescricao("Produtos de Informática");

session.save(categoria1);

Categoria categoria2 = new Categoria();

categoria2.setCategoria("Eletrodomésticos");

categoria2.setDescricao("Eletrodomésticos em Geral");

session.save(categoria2);

Categoria categoria3 = new Categoria();

categoria3.setCategoria("Livraria");

categoria3.setDescricao("Livros para todos os gostos");

session.save(categoria3);

transaction.commit();

} catch (HibernateException e) {

transaction.rollback();

e.printStackTrace();

} finally {

session.close();

}

}

}</pre>
<p>Executem a classe <strong>Main</strong> para que o <strong>Hibernate</strong> crie a tabela <strong>categoria</strong> e adicionem o conteúdo. Graças as configurações criadas no arquivo <strong>hibernate.cfg.xml</strong>, temos a saída na view <strong>Console</strong> como mostra a <strong>Figura 27</strong>.</p>
<div id="attachment_425" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-27.jpg" rel="lightbox[395]"><img class="size-medium wp-image-425" title="Figura 27" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-27-300x264.jpg" alt="Figura 27 – A saída no console criada na execução do exemplo" width="300" height="264" /></a><p class="wp-caption-text">Figura 27 – A saída no console criada na execução do exemplo</p></div>
<h3>O Editor HQL e Criteria</h3>
<p>Para acessar o editor <strong>HQL</strong> do Hibernate Tools, cliquem com o direito do mouse em qualquer parte da view <strong>Hibernate Configurations</strong> e selecionem, no menu de contexto, o item <strong>HQL Editor</strong>.</p>
<div id="attachment_426" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-28.jpg" rel="lightbox[395]"><img class="size-medium wp-image-426" title="Figura 28" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-28-300x180.jpg" alt="Figura 28 – Chamando o editor HQL pelo menu de contexto na view Hibernate Configurations" width="300" height="180" /></a><p class="wp-caption-text">Figura 28 – Chamando o editor HQL pelo menu de contexto na view Hibernate Configurations</p></div>
<p>No editor HQL, se digitarmos uma query HQL, veremos também na view <strong>Hibernate Dynamic SQL Preview</strong> a instrução SQL gerada automaticamente pelo Hibernate.</p>
<div id="attachment_427" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-29.jpg" rel="lightbox[395]"><img class="size-medium wp-image-427" title="Figura 29" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-29-300x162.jpg" alt="Figura 29 – Editor HQL em ação e a view Hibernate Dynamic SQL Preview exibindo a SQL gerada" width="300" height="162" /></a><p class="wp-caption-text">Figura 29 – Editor HQL em ação e a view Hibernate Dynamic SQL Preview exibindo a SQL gerada</p></div>
<p>Ao mandarmos executar a query HQL, em <strong>Run HQL</strong>, vemos o resultado surgir na view <strong>Hibernate Query Result</strong>. Quando selecionamos este resultado, vemos os dados na view  <strong>Properties</strong>.</p>
<div id="attachment_428" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-30.jpg" rel="lightbox[395]"><img class="size-medium wp-image-428" title="Figura 30" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-30-300x104.jpg" alt="Figura 30 – Resultados encontrados na query HQL executada nas views Hibernate Query Result e Properties" width="300" height="104" /></a><p class="wp-caption-text">Figura 30 – Resultados encontrados na query HQL executada nas views Hibernate Query Result e Properties</p></div>
<p>A parte de Criteria também é bem fácil de se criar. Cliquem com o direito do mouse sobre <strong>Session Factory&gt;br.com.integrator.Categoria</strong> e selecionem, no menu de contexto, o item <strong>Hibernate Criteria Editor</strong>.</p>
<div id="attachment_429" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-311.jpg" rel="lightbox[395]"><img class="size-medium wp-image-429" title="Figura 31" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-311-300x144.jpg" alt="Figura 31 – Abrindo o editor de criteria" width="300" height="144" /></a><p class="wp-caption-text">Figura 31 – Abrindo o editor de criteria</p></div>
<p>Ao surgir o editor de Criteria, basta completarmos a instrução que desejamos executar. Em seguida,  clicamos no botão <strong>Run criteria</strong> (o mesmo botão que no editor HQL se chama <strong>Run HQL</strong>).</p>
<div id="attachment_430" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-32.jpg" rel="lightbox[395]"><img class="size-medium wp-image-430" title="Figura 32" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-32-300x108.jpg" alt="Figura 32 – Criação do Hibernate Criteria no editor e seu resultado apos clicar em Run criteria" width="300" height="108" /></a><p class="wp-caption-text">Figura 32 – Criação do Hibernate Criteria no editor e seu resultado apos clicar em Run criteria</p></div>
<h3>Engenharia Reversa</h3>
<p>A engenharia reversa no Hibernate Tools também é de fácil utilização.</p>
<p>Para trabalhar com a engenharia reversa, é necessário termos o arquivo de configuração do Hibernate, configurado para conectar-se ao banco de dados pré-existente.</p>
<p>A engenharia reversa está preparada para gerar as classes, os arquivos .hbm.xml ou então anotações. Também é possível termos anotações JPA, relacionamentos e outros.</p>
<p>Para criar a engenharia reversa em nosso exemplo, cliquem com o direito do mouse na view <strong>Package Explorer</strong>. No menu de contexto selecionem <strong>New&gt;Hibernate Reverse Engineering File (reveng.xml)</strong>.</p>
<div id="attachment_431" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-33.jpg" rel="lightbox[395]"><img class="size-medium wp-image-431" title="Figura 33" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-33-300x128.jpg" alt="Figura 33 – Opção Hibernate Reverse Engineering File (reveng.xml) do menu de contexto" width="300" height="128" /></a><p class="wp-caption-text">Figura 33 – Opção Hibernate Reverse Engineering File (reveng.xml) do menu de contexto</p></div>
<p>Na caixa de diálogo, selecionem o diretório <strong>src</strong> e mantenham o nome do arquivo padrão solicitado. Cliquem no botão <strong>Next</strong>.</p>
<div id="attachment_432" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-34.jpg" rel="lightbox[395]"><img class="size-medium wp-image-432" title="Figura 34" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-34-300x264.jpg" alt="Figura 34 – Iniciando a criação do arquivo de configuração de engenharia reversa" width="300" height="264" /></a><p class="wp-caption-text">Figura 34 – Iniciando a criação do arquivo de configuração de engenharia reversa</p></div>
<p>Na etapa seguinte, selecionem a configuração do console previamente criada em <strong>Console configuration</strong>. Cliquem no botão <strong>Refresh</strong> e selecionem no banco de dados a(s) tabela(s) que desejam trabalhar na engenharia reversa para utilizar com o Hibernate e confirmem no botão <strong>Include</strong>. Concluam o assistente no botão <strong>Finish</strong>.</p>
<div id="attachment_433" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-35.jpg" rel="lightbox[395]"><img class="size-medium wp-image-433" title="Figura 35" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-35-300x225.jpg" alt="Figura 35 – Seleção da tabela categoria para a engenharia reversa" width="300" height="225" /></a><p class="wp-caption-text">Figura 35 – Seleção da tabela categoria para a engenharia reversa</p></div>
<p>O assistente irá gerar o arquivo de engenharia reversa. Agora iremos configurá-lo para que, na geração dos arquivos baseados na(s) tabela(s) do banco de dados, a conversão seja exatamente como desejamos.</p>
<p>Comecem indo na aba <strong>Type Mappings</strong> e cliquem no botão <strong>Refresh</strong>.</p>
<div id="attachment_434" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-36.jpg" rel="lightbox[395]"><img class="size-medium wp-image-434" title="Figura 36" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-36-300x141.jpg" alt="Figura 36 – Exibindo o banco de dados através do botão Refresh" width="300" height="141" /></a><p class="wp-caption-text">Figura 36 – Exibindo o banco de dados através do botão Refresh</p></div>
<p>Na caixa de diálogo <strong>Select a console configuration</strong>, selecionem o console criado e confirmem no  botão <strong>OK</strong>.</p>
<div id="attachment_435" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-37.jpg" rel="lightbox[395]"><img class="size-medium wp-image-435" title="Figura 37" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-37-300x139.jpg" alt="Figura 37 – Seleção da configuração de console" width="300" height="139" /></a><p class="wp-caption-text">Figura 37 – Seleção da configuração de console</p></div>
<p>Retornando para o editor, temos o banco de dados, tabela(s) e campo(s). Para que ocorra a engenharia reversa de forma correta, devemos <strong>Add</strong> cada um deles, editando o <strong>Hibernate Type</strong>, <strong>Length</strong> e também <strong>Not-Null</strong>.</p>
<p>Vejam  como é  mostrado na <strong>Figura 38</strong>.</p>
<div id="attachment_436" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-38.jpg" rel="lightbox[395]"><img class="size-medium wp-image-436" title="Figura 38" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-38-300x99.jpg" alt="Figura 38 – Configurando os tipos JDBC e  Hibernate da tabela para executar a engenharia reversa " width="300" height="99" /></a><p class="wp-caption-text">Figura 38 – Configurando os tipos JDBC e  Hibernate da tabela para executar a engenharia reversa </p></div>
<p>O resultado do arquivo configurado, visto na aba <strong>Source</strong>, em formato XML, é como o mostrado na <strong>Listagem 6</strong>.</p>
<p><strong>Listagem 6 – O arquivo hibernate.revenge.xml</strong></p>
<pre class="brush:xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" &gt;

&lt;hibernate-reverse-engineering&gt;

&lt;type-mapping&gt;

&lt;sql-type jdbc-type="BIGINT" hibernate-type="long"

not-null="true"&gt;

&lt;/sql-type&gt;

&lt;sql-type jdbc-type="VARCHAR" hibernate-type="string" length="50"

not-null="false"&gt;

&lt;/sql-type&gt;

&lt;sql-type jdbc-type="VARCHAR" hibernate-type="string"

not-null="false"&gt;

&lt;/sql-type&gt;

&lt;/type-mapping&gt;

&lt;table-filter match-catalog="hibernatenapratica" match-name="categoria"/&gt;

&lt;/hibernate-reverse-engineering&gt;</pre>
<p>Retornando a view <strong>Package Explorer</strong>, vamos configurar um console Hibernate para executar o arquivo de engenharia reversa criado. Cliquem com o direito do mouse sobre o arquivo <strong>hibernate.revenge.xml</strong> e selecionem, no menu de contexto, o item <strong>Hibernate Console Configuration</strong>.</p>
<table border="1">
<tbody>
<tr>
<td><strong>Atenção:</strong> Esta etapa não é realmente necessária quando já existe um console configurado. Entretanto, na primeira vez que configuramos um, o acesso não havia sido feito desta maneira.</td>
</tr>
</tbody>
</table>
<div id="attachment_437" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-39.jpg" rel="lightbox[395]"><img class="size-medium wp-image-437" title="Figura 39" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-39-300x115.jpg" alt="Figura 39 – Seleção do item Hibernate Console Configuration no menu de contexto" width="300" height="115" /></a><p class="wp-caption-text">Figura 39 – Seleção do item Hibernate Console Configuration no menu de contexto</p></div>
<p>Na caixa de dialogo, alterem o campo <strong>Name</strong> para <strong>ProjUtilizandoHibernateToolsAnnotations</strong>. Verifiquem se <strong>Configuration file</strong> está corretamente apresentando o arquivo <strong>hibernate.cfg.xml</strong>.</p>
<div id="attachment_438" class="wp-caption alignnone" style="width: 254px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-40.jpg" rel="lightbox[395]"><img class="size-medium wp-image-438" title="Figura 40" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-40-244x300.jpg" alt="Figura 40 – Diálogo de criação da configuração do console Hibernate para a engenharia reversa" width="244" height="300" /></a><p class="wp-caption-text">Figura 40 – Diálogo de criação da configuração do console Hibernate para a engenharia reversa</p></div>
<p>Através do botão <strong>Run As</strong> <a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/icone-run-as.jpg" rel="lightbox[395]"><img class="alignnone size-full wp-image-439" title="icone-run-as" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/icone-run-as.jpg" alt="" width="34" height="21" /></a>, clicando no pequeno triângulo que aponta para baixo,  encontramos um menu onde temos o item <strong>Hibernate Code Generation Configurations</strong>.</p>
<div id="attachment_440" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-411.jpg" rel="lightbox[395]"><img class="size-medium wp-image-440" title="Figura 41" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-411-300x126.jpg" alt="Figura 41 – Menu Run As com a opção Hibernate Code Generation Configurations" width="300" height="126" /></a><p class="wp-caption-text">Figura 41 – Menu Run As com a opção Hibernate Code Generation Configurations</p></div>
<p>Na caixa de diálogo <strong>Hibernate Code Generation Configurations</strong>, em <strong>Hibernate Code Generation</strong>, cliquem com o direito do mouse e selecionem, no menu de contexto, o item <strong>New</strong>.</p>
<div id="attachment_441" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-42.jpg" rel="lightbox[395]"><img class="size-medium wp-image-441" title="Figura 42" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-42-300x137.jpg" alt="Figura 42 – Acionando o menu de contexto em Hibernate Code Generation" width="300" height="137" /></a><p class="wp-caption-text">Figura 42 – Acionando o menu de contexto em Hibernate Code Generation</p></div>
<p>Na lateral direita, tenham <strong>ProjUtilizandoHibernateToolsAnnotations</strong> em <strong>Console configuration</strong> selecionado. Em <strong>Output directory</strong>, cliquem em <strong>Browse</strong> e selecionem o local onde será(ão) gerada(s) a(s) classe(s), neste caso.</p>
<p>Digitem o pacote em <strong>Package</strong> e, em <strong>reveng.xml</strong>, cliquem em <strong>Setup</strong>.</p>
<div id="attachment_442" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-43.jpg" rel="lightbox[395]"><img class="size-medium wp-image-442" title="Figura 43" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-43-300x253.jpg" alt="Figura 43 – Configuração inicial da aba Main em Hibernate Code Generation Configurations" width="300" height="253" /></a><p class="wp-caption-text">Figura 43 – Configuração inicial da aba Main em Hibernate Code Generation Configurations</p></div>
<p>Ao surgir o diálogo <strong>Setup reverse engineering</strong>, cliquem em <strong>Use existing</strong>.</p>
<div id="attachment_443" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-44.jpg" rel="lightbox[395]"><img class="size-medium wp-image-443" title="Figura 44" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-44-300x77.jpg" alt="Figura 44 – Selecionando o botão Use existing " width="300" height="77" /></a><p class="wp-caption-text">Figura 44 – Selecionando o botão Use existing </p></div>
<p>Selecionem o item <strong>hibernate.reveng.xml</strong> e confirmem no botão <strong>OK</strong>.</p>
<div id="attachment_444" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-45.jpg" rel="lightbox[395]"><img class="size-medium wp-image-444" title="Figura 45" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-45-300x287.jpg" alt="Figura 45 – Seleção do arquivo hibernate.reveng.xml" width="300" height="287" /></a><p class="wp-caption-text">Figura 45 – Seleção do arquivo hibernate.reveng.xml</p></div>
<p>Retornando ao diálogo <strong>Hibernate Code Generation Configurations</strong>, ainda na aba <strong>Main</strong>, temos todas as informações que desejamos preenchidas, como na <strong>Figura 46</strong>.</p>
<div id="attachment_445" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-46.jpg" rel="lightbox[395]"><img class="size-medium wp-image-445" title="Figura 46" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-46-300x253.jpg" alt="Figura 46 – Aba Main do diálogo Hibernate Code Generation Configurations preenchido" width="300" height="253" /></a><p class="wp-caption-text">Figura 46 – Aba Main do diálogo Hibernate Code Generation Configurations preenchido</p></div>
<p>Agora iremos na aba <strong>Exporters</strong>, ao qual iremos marcar <strong>Generate EJB 3 annotations</strong> e <strong>Domain code (.java)</strong>.</p>
<div id="attachment_446" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-47.jpg" rel="lightbox[395]"><img class="size-medium wp-image-446" title="Figura 47" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-47-300x285.jpg" alt="Figura 47 – Opções de exportação da caixa de diálogo Hibernate Code Generation Configurations" width="300" height="285" /></a><p class="wp-caption-text">Figura 47 – Opções de exportação da caixa de diálogo Hibernate Code Generation Configurations</p></div>
<p>Por fim, vamos clicar no botão <strong>Run</strong> para executar a engenharia reversa.</p>
<div id="attachment_447" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-48.jpg" rel="lightbox[395]"><img class="size-medium wp-image-447" title="Figura 48" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/06/Figura-48-300x298.jpg" alt="Figura 48 – Executando a engenharia reversa através do botão Run" width="300" height="298" /></a><p class="wp-caption-text">Figura 48 – Executando a engenharia reversa através do botão Run</p></div>
<p>Neste último exemplo, o resultado é a classe Categoria sendo criada com anotações.</p>
<p><strong>Considerações finais</strong></p>
<p>Como vocês puderam ver, o Hibernate Tools é uma ferramenta bem interessante para aqueles que trabalham com o framework Hibernate. Seja para criar suas configurações através dos assistentes, para executar as queries HQL ou Criteria em seus editores, vale a pena  instalar e conhecer este plugin do Eclipse IDE.</p>
<p>Até o próximo artigo pessoALL.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edsongoncalves.com.br/2010/06/27/hibernate-com-hibernate-tools/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

