Dev (Back & Front)ARTIGO

JPA 2.0 na Prática com Hibernate 3.5

Tenho recebido alguns questionamentos sobre Hibernate 3.5, ORM provider e JPA 2.0. Por isso resolvi escrever este artigo. Aguardo os comentários, dúvidas e críticas!

Preparação do ambiente de trabalho

Tenha por base o meu artigo JPA na Prática, faremos aqui similar no banco de
dados e  na ferramenta, porém haverá uma modificação na biblioteca JPA.

A  biblioteca JPA

O Hibernate é um ORM como o EclipseLink, muito utilizado no
desenvolvimento Web com JavaJava42 conteúdosNovidades do Java 26 (para desenvolvedores)Dev (Back & Front) · mar 2026Visual Studio Code para Java: o guia completo (dicas, configuração e extensões)Dev (Back & Front) · out 2025Quarkus: Modernizando a linguagem Java para a era da nuvemDev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) , cuja versão 3.5 possui suporte a Java
Persistence API 2.0. Você pode baixá-la clicando
aqui
. Clique em Download, no menu lateral
esquerdo.

A versão, no momento em que escrevo, é a 3.5.0-CR-2 (ainda em
desenvolvimento).

Os arquivos que terá de baixar serão:

  • Hibernate Core
  • Hibernate JPAModelGen

Ao baixar os arquivos, descompacte-os. Você precisará das seguintes
bibliotecas:

  • hibernate3.jar
  • antlr-2.7.6.jar
  • commons-collections-3.1.jar
  • dom4j-1.6.1.jar
  • javassist-3.9.0.GA.jar
  • jta-1.1.jar
  • slf4j-api-1.5.8.jar
  • hibernate-jpa-2.0-api-1.0.0-CR-1.jar

Além destes arquivos, será necessário utilizar as bibliotecas da Simple
Logging Facade for Java
, SLF4J. Baixe o arquivo com todas as
bibliotecas da SLF4J aqui.

Descompacte o arquivo após baixá-lo. Você precisará das seguintes
bibliotecas:

  • slf4j-jdk14-1.5.11.jar
  • slf4j-log4j12-1.5.11.jar

O Projeto

O projeto para este pequeno tutorial é o mesmo do criado no artigo JPA na Prática Parte 1. Veja lá como fazê-lo.

As bibliotecas no projeto

Podemos tanto criar uma biblioteca de usuário, contendo todas elas
ou, simplesmente, adicionar todas ao seu projeto.

Figura 1
Bibliotecas do Hibernate 3.5 e SLF4J adicionadas ao projeto

Configurando o arquivo persistence.xml

Similar ao mostrado na JPA
2.0 na Prática Parte 2
,
no arquivo persistence.xml,
altere-o conforme a Listagem 1 abaixo:

Listagem 1 – O arquivo persistence.xml

<?xml version="1.0" encoding="UTF-8"?><br /><br /><persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"<br /><br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br /><br />xsi:schemaLocation="http://java.sun.com/xml/ns/persistence<br /><br />http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"><br /><br /><persistence-unit name="JpaNaPratica" transaction-type="RESOURCE_LOCAL"><br /><br /><class>br.com.integrator.Categoria</class><br /><br /><properties><br /><br /><property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpapratica"></property><br /><br /><property name="javax.persistence.jdbc.user" value="edson"></property><br /><br /><property name="javax.persistence.jdbc.password" value="integrator"></property><br /><br /><property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"></property><br /><br /><property name="hibernate.show_sql" value="true" /><br /><br /><property name="hibernate.format_sql" value="true" /><br /><br /><property name="hibernate.hbm2ddl.auto" value="create"/><br /><br /></properties><br /><br /></persistence-unit><br /><br /></persistence>

Infelizmente, nem todas as propriedades de persistence.xml
são padronizadas, conforme já dito no artigo JPA na Prática
Parte 2
. Para exibir a saída das instruções SQLSQL64 conteúdosSQL Server – Como evitar SQL Injection?Data · mai 2019Azure SQL DB Managed InstanceData · abr 2019SQL Server – Como evitar SQL Injection? Pare de utilizar Query Dinâmica como EXEC(@Query)Data · abr 2019Ver tudo em Data geradas, assim
como outras informações, as seguintes propriedades foram  adicionadas ao
arquivo persistence.xml:

<property name="hibernate.show_sql" value="true" /><br /><br /><property name="hibernate.format_sql" value="true" />

Para criar a tabela, utilizamos a seguinte adição:

<strong><property name="hibernate.hbm2ddl.auto" value="create"/></strong>

Testando o Projeto

Similar ao mostrado na JPA
2.0 na Prática Parte 2,
execute a classe com o método main()
e veja os resultados refletidos no banco de dados.

Hibernate ou EclipseLink?

Muitos me perguntam isso, querendo saber qual é o melhor. O ideal,
como sempre, é conhecer ambos e tirar as suas próprias conclusões. Em
JPA 2.0, ao menos por enquanto, no que foi mostrado, não há diferença.

Abraço a todos e até o próximo artigo.

*

Gostou do assunto? A iMasters Shop te ajuda a se aprofundar nos estudos!

é desenvolvedor analista, pesquisador e escritor. Como Diretor Técnico da empresa Integrator Technology and Design, é responsável pela área de desenvolvimento de sistemas, tanto em ambiente Cliente/Servidor como em sistemas distribuídos. Especialista em desenvolvimento Web com linguagens como Java, C#, Ruby, Python e PHP 5, atualmente é um dos entusiasmados desenvolvedores no rumo de Ruby on Rails (RoR). Como escritor já lançou seis livros, entre eles Dominando Eclipse e Dominando AJAX.

Ver perfil